Элемент Selenium Не найден, даже если Selenium заполняет идентификатор - PullRequest
5 голосов
/ 22 марта 2012

Я использую плагин Selenium IDE Firefox для создания тестовых случаев.Я нажимаю кнопку «Запись», чтобы записать шаги.Когда я закончу, я остановлю запись и проведу тестовые случаи, чтобы посмотреть, как идут дела.В этом одном конкретном элементе в таблице HTML Selenium идентифицируется как id=my_id_1 в процессе записи;когда я запускаю тестовый пример, он говорит, что Элемент id=my_id_1 не найден.

Как его не найти при обнаружении идентификатора в Selenium IDE?Как я могу обойти эту проблему?Я тоже пытался использовать //tr[4]/td[3]/a.Используя этот подход (и используя ID), когда я нажимаю кнопку Find в IDE, соответствующий элемент на веб-странице будет выделен желтым цветом.Тем не менее, контрольный пример не сможет сказать, что элемент не может найти найденный.

Заранее спасибо, Монте

Ответы [ 4 ]

7 голосов
/ 23 марта 2012

Попробуйте сделать паузу перед командой задачи, чтобы проверить, загружена ли она полностью, прежде чем Selenium попытается найти элемент.Если это решит проблему, вы можете заменить паузу более устойчивым условием ожидания.

0 голосов
/ 19 августа 2013

Может быть, это создает новый идентификатор каждый раз.Следовательно, вы можете дать регулярное выражение, подобное тому, которое я использовал ниже.

//form[@id='adminLogin']/div/div[4]/input

Попробуйте.Это работает для меня.

0 голосов
/ 14 июля 2012

запустить тест в медленном режиме IDE.

0 голосов
/ 22 марта 2012

может быть случай, что вы будете перенаправлены на другую страницу перед выполнением этой команды, поэтому вы получаете сообщение об ошибке «элемент не найден», вы можете поставить паузу перед выполнением команды, или, если это не так, попробуйте найти элемент по имени, значению или Xpath вместо идентификатора

...