Перейти к содержимому

Фотография

Выбрать элемент из списка


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 lokofc

lokofc

    Активный участник

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Pavel

Отправлено 11 июня 2013 - 06:27

Добрый день!

Не могу выбрать элемент из списка, суть в том, что при наведени курсора мыши на один из элементов списка, в его теге tr класс из пустого становится определенным.

Найти элемент можно и через css и через xpath, но при нажатии ничего не происходит(например click xpath=(//tr[@role='row'])[2], или click css=td.k-grid-string-column )

Совсем запутался, помогите пожалуйста.

На скрине курсор мыши наведен на текст "test2" в подчеркнутом красной линии теге tr определился класс, пока курсор ненаведен класс пустой.

Прикрепленные файлы

  • Прикрепленный файл  24.jpg   282,94К   46 Количество загрузок:

  • 0

#2 lokofc

lokofc

    Активный участник

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Pavel

Отправлено 11 июня 2013 - 06:44

Можно и так сделать, но все равно ничего не происходит при выполнение команды


Еще придумал по координате х у через click, это нормальный выход?

Прикрепленные файлы

  • Прикрепленный файл  25.jpg   140,93К   10 Количество загрузок:

  • 0

#3 Keiga

Keiga

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 11 июня 2013 - 07:44

Можно и так сделать, но все равно ничего не происходит при выполнение команды


Еще придумал по координате х у через click, это нормальный выход?

Координаты не лучший выход. Если появляется при наведении мыши то попробуйте такую реализацию со stackoverflow
  • 0

#4 lokofc

lokofc

    Активный участник

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Pavel

Отправлено 11 июня 2013 - 09:23


Можно и так сделать, но все равно ничего не происходит при выполнение команды


Еще придумал по координате х у через click, это нормальный выход?

Координаты не лучший выход. Если появляется при наведении мыши то попробуйте такую реализацию со stackoverflow


Я только начал изучение, WebDriver для меня пока еще сложен.

С координатами этими тоже заморочки, на одной странице работает, на другой элемент находится, но кликать по нему не хочет
  • 0

#5 Keiga

Keiga

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 11 июня 2013 - 09:35

А в блоке ниже там что? Если tr развернуть. Текст где фигурирует?
  • 0

#6 lokofc

lokofc

    Активный участник

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Pavel

Отправлено 11 июня 2013 - 09:52

А в блоке ниже там что? Если tr развернуть. Текст где фигурирует?


Там как раз текст

Вобщем, через пень-колоду по координатам я сделал, проблема была в том, что два клика и дабл клик не одно и тоже)

Прикрепленные файлы

  • Прикрепленный файл  28.png   151,49К   28 Количество загрузок:

  • 0

#7 Keiga

Keiga

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 11 июня 2013 - 10:00

Лучше откажитесь от координат и перепишите например с привязкой к тексту. например такой xpath локатор:
//td[@role='gridcell'][.='текст2']

  • 1

#8 lokofc

lokofc

    Активный участник

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Pavel

Отправлено 27 июня 2013 - 09:49

Можно ли сделать xpath динамическим в том смысле, что, например есть путь:

driver.findElement(By.xpath("//li[@class='k-item'][.='Обращение решено']")).click();


И, допустим, по этому пути находится список, в котором меняется только [.='Обращение решено']. Вот, и можно ли как - то в этот путь впилить переменную:

driver.findElement(By.xpath("//li[@class='k-item'][i]")).click() i++;

или сделать какую-либо макроподстановку стринговой переменной?

driver.findElement(By.xpath("//li[@class='k-item'][.='string']")).click(); String string = "";

  • 0

#9 Keiga

Keiga

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 27 июня 2013 - 10:00

Так пробовали?
String string = "Обращение решено"
driver.findElement(By.xpath("//li[@class='k-item'][.='" + string + "']")).click();

  • 1


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных