【问题标题】:Selenium Element Not found even if Selenium populates the id即使 Selenium 填充 id,也找不到 Selenium 元素
【发布时间】:2012-03-21 20:56:29
【问题描述】:

我正在使用 Selenium IDE Firefox 插件来创建一些测试用例。我单击“记录”按钮来记录这些步骤。完成后,我会停止录制并运行测试用例以查看情况如何。在 HTML 表格的这一特定元素中,Selenium 在记录过程中标识为id=my_id_1;当我运行测试用例时,它会说 Element id=my_id_1 not found。

在 Selenium IDE 中检测到 ID 怎么找不到?我怎样才能解决这个问题?我也尝试过使用//tr[4]/td[3]/a。使用这种方法(也使用 ID),当我单击 IDE 中的 Find 按钮时,网页上的相应项目将以黄色突出显示。但是,测试用例会失败,说找不到元素。

提前致谢, 蒙特

【问题讨论】:

  • 您是否确保在表格实际加载到页面中之前没有执行该命令?

标签: selenium selenium-ide


【解决方案1】:

在问题命令之前尝试暂停一下,看看它是否在 Selenium 尝试查找元素之前没有完全加载。如果这样可以解决问题,您可以将暂停替换为更强大的等待条件。

【讨论】:

  • 非常感谢。我在有问题的命令之前的命令中执行了 ClickAndWait 并成功了。
  • +1,我遇到了同样的问题,添加暂停解决了我的问题。
【解决方案2】:

在执行该命令之前,您可能会被重定向到不同的页面,因此您收到 element not found 错误,您可以在执行命令之前暂停,或者如果不是这种情况,请尝试定位按名称、值或 Xpath 代替 ID 的元素

【讨论】:

    【解决方案3】:

    可能是每次都创建一个新 ID。因此,您可以做的是给出一个正则表达式,就像我在下面使用的那样。

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

    试试看。这对我有用。

    【讨论】:

      【解决方案4】:

      在 IDE 的慢速模式下运行测试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-18
        • 1970-01-01
        相关资源
        最近更新 更多