Кнопка поиска селена

76
6

Hy. У меня проблема с селеной средой IDE. У меня есть кнопка в таблице, на которую я должен щелкнуть.


Command: click
Target: xpath=//table[@id='mainForm:dataTable']//tr[contains(., 'test1')]/td[9]/div/table/tbody/tr/td[contains(., 'Edit')]/a

Когда я нажимаю кнопку "Найти" селена, он показывает мне кнопку "Изменить" для человека "test1" в моей таблице. Таким образом, селен находит кнопку, это означает, что я пишу в цель, должно быть правильно.

Проблема в том, что если я хочу запустить тест, селен говорит:


[error] Element //table[@id='mainForm:dataTable']//tr[contains(., 'test1')]/td[9]/div/table/tbody/tr/td[contains(., 'Löschen')]/a not found

и я не знаю почему.

Пожалуйста, помогите мне с этой проблемой :)

спросил(а) 2021-01-25T21:02:10+03:00 4 месяца, 2 недели назад
1
Решение
109

Может быть, строка, где должен присутствовать этот текст, - это еще не 9? Возможно, try /td[contains(., 'Löschen')]/a если у вас нет другого td, подобного этому на странице. Хорошая практика будет каким-то образом означать этот элемент в вашем сценарии сервера (например, добавить rel= или title= или только определенный id =) и найти это по этому параметру.

Попытайтесь запустить тест, увеличивая этот xpath, и вы должны поймать ситуацию, когда точно запрошенный элемент не существует, например:

//table
//table[@id='mainForm:dataTable']
//table[@id='mainForm:dataTable']//tr
//table[@id='mainForm:dataTable']//tr[contains(., 'test1')]
//table[@id='mainForm:dataTable']//tr[contains(., 'test1')]/td
//table[@id='mainForm:dataTable']//tr[contains(., 'test1')]/td[9]

И так далее, пока не появится ошибка

Возможно, у вас есть некоторые javascripts на странице, которые делают изменения в дереве DOM

ответил(а) 2021-01-25T21:02:10+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема