这是我正在寻找的 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
这里我的执行失败,因为 selenium webdriver 找到了元素并且 try block 返回 1。我的理解是 webdriver 不会找到隐藏的元素。
最佳答案
这里有两个元素
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")
关于python - Selenium Webdriver 也在寻找隐藏的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9799315/