【问题标题】:Selenium Webdriver is finding hidden values tooSelenium Webdriver 也在寻找隐藏的值
【发布时间】:2012-04-05 15:48:34
【问题描述】:

这是我正在寻找的 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')`

硒服务器:2.20.0

这里我的执行失败,因为 selenium webdriver 找到元素并尝试块返回 1。我的理解是 webdriver 不会找到隐藏的元素。

【问题讨论】:

    标签: python selenium webdriver


    【解决方案1】:

    当我尝试读取隐藏的文本框值时,它失败并显示“未找到元素”错误消息。 AFIK,Webdriver 不会识别隐藏元素。确保您的定位器 ID 是唯一的。

    【讨论】:

      【解决方案2】:

      这里有两个元素

      1 : 文本输入元素,id="provCount" 是“隐藏的”:

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

      2 :一个 button 元素,其 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")
      

      【讨论】:

        猜你喜欢
        • 2012-08-15
        • 2012-09-03
        • 1970-01-01
        • 2011-07-19
        • 2016-01-07
        • 2016-07-20
        • 1970-01-01
        • 1970-01-01
        • 2015-12-29
        相关资源
        最近更新 更多