使用Selenium存在元素

时间:2015-08-11 17:24:47

标签: java selenium

我已经看到了几种测试元素是否存在的方法。一种方式:

private boolean existsElement(String id) {
    try {
        driver.findElement(By.id(id));
    } catch (NoSuchElementException e) {
        return false;
    }
    return true;
}

另一种方式:

Boolean isPresent = driver.findElements(By.yourLocator).size() > 0

但添加例外来测试某些东西并不是一种好的做法,如果你有一个隐含的等待,使用size方法将花费太长时间。

还有其他有效的方法来测试存在吗?如果没有,这两个中的哪一个将是首选方式?

1 个答案:

答案 0 :(得分:1)

来自findElement(By)文档:

  

不应该使用findElement来查找不存在的元素,而是使用findElements(By)并断言零长度响应。