【问题标题】:How to judge whether an element does not exist?如何判断一个元素是否不存在?
【发布时间】:2014-08-01 02:27:28
【问题描述】:

我想在元素不存在时执行 case,但它会抛出异常。如果我使用 try catch,我需要等待 implicitlyWait 时间。还有其他更好的方法吗?

【问题讨论】:

标签: selenium-webdriver


【解决方案1】:

您的问题并不清楚,但如果您想在元素不存在时运行测试用例,请使用findElements 而不是findElement

类似:

driver.findElements(//your criteria)

即使您的元素不存在,它也不会引发错误。相反,它返回空列表。那你就可以用size的方法来检查了!

希望对你有帮助。

【讨论】:

    【解决方案2】:

    您可以检查页面上是否显示元素: driver.findElement(By.id("foo")).isDisplayed();

    【讨论】:

    • 如果 foo 对象不存在,那么它会抛出一个异常。所以最好用“findelements”检查并比较它的列表大小。
    • 没错,但可以通过让 IDE 用 Try/Catch 块包围它来解决。我认为它比检查它的大小更合适。
    【解决方案3】:

    以下是完整代码:

    Integer x=driver.findElements(By.id("XYZ")).size();
    if(x>0)
        System.out.println("Element exists");
    else
        System.out.println("Element does not exist");
    

    【讨论】:

      猜你喜欢
      • 2011-11-02
      • 2014-07-18
      • 2015-02-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多