Selenium Webdriver также находит скрытые значения - PullRequest
1 голос
/ 21 марта 2012

Вот источник HTML, который я ищу.

<input type="hidden" value="3" id="provCount" /><input id="SettingsFrmId:settings_addProv_button" type="submit" name="SettingsFrmId:settings_addProv_button" class="inputButton" value="Add Prov" title="Add Prov" title="Add Prov" />

В приведенном ниже коде я пытаюсь проверить, найден скрытый элемент или нет.

try:
            driver.find_element_by_id("SettingsFrmId:settings_addProv_button")
            logger[0].error('Add Prov button found.')
            return 1
except NoSuchElementException:
            logger[0].info('Add prov button is not found')`

Сервер Selenium: 2.20.0

Здесь мое выполнение завершается неудачно, поскольку селеновый веб-драйвер находит элемент, а блок try возвращает 1. Насколько я понимаю, веб-драйвер не найдет скрытые элементы.

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Здесь у вас есть два элемента

1: элемент ввода текста с id = "provCount", который "скрыт":

<input type="hidden" value="3" id="provCount" />

2: элемент кнопки с id = "pSettingsFrmId: settings_addProv_buttonovCount", который не"скрыт":

<input id="SettingsFrmId:settings_addProv_button" type="submit" name="SettingsFrmId:settings_addProv_button" class="inputButton" value="Add Prov" title="Add Prov" title="Add Prov" />

Затем попробуйте найти элемент кнопки с id = "SettingsFrmId: settings_addProv_button" (который не скрыт!)

driver.find_element_by_id("SettingsFrmId:settings_addProv_button")

Если вы на самом деле пытаетесь проверить скрытый (который на самом деле является вводом текста), вам следует изменить строку выше на:

driver.find_element_by_id("provCount")
0 голосов
/ 21 марта 2012

Когда я попытался прочитать значение скрытого текстового поля, оно не получилось с сообщением об ошибке «Элемент не найден». AFIK, Webdriver не будет определять скрытые элементы. Убедитесь, что ваш идентификатор локатора уникален.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...