2012-03-21 4 views
1

Вот источник html, который я ищу.Selenium Webdriver тоже находит скрытые значения

<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')` 

Селен Сервер: 2.20.0

Вот мое исполнение не удается, так как селен WebDriver находит элемент & попытка блока возвращается 1. Мое понимание было WebDriver не найти скрытые элементы.

ответ

1

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

1: Входной элемент текст с идентификатором = "provCount", который является "скрытым":

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

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

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

Затем Вы пытаетесь найти кнопку элемент с идентификатором =: (!, Не скрытый) "SettingsFrmId settings_addProv_button"

driver.find_element_by_id("SettingsFrmId:settings_addProv_button") 

Если вы на самом деле пытаетесь проверить вы должны изменить приведенную выше строку:

driver.find_element_by_id("provCount") 
+0

Спасибо, что заметили его. Я пропустил два разных плохо .. – pprakash

0

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

+0

I cross checke d снова. И этот идентификатор локатора уникален! – pprakash

Смежные вопросы