driver.findelements检查元素是否存在需要时间

时间:2014-02-11 23:49:12

标签: selenium selenium-webdriver

我正在尝试使用findElements在页面中找到链接。为了评估这个陈述,需要花费很多时间。有没有一种有效的方法来查找链接是否存在?

driver.findElements(By.linkText("New pool")).size()<=0

1 个答案:

答案 0 :(得分:2)

这可能是由于它的文本找到了元素。我会尝试通过它的id或类名来查找元素,因为这样可以更有效地查找。更多信息:http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/By.html

你也说你试图找到一个链接。如果您要查找单个链接,只需使用driver.findElement()方法即可。如果您使用它来确保元素在页面上,您可以考虑使用WebDriverWait。更多信息:http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp

最后,您还可以考虑创建一个单独的自定义方法,该方法将使用显示检查并捕获异常以检查元素是否存在,例如:

public boolean isExists(By by) {
  try {
    return driver.findElement(by).isDisplayed();
  } catch (NoSuchElementException e) {
    return false;
  }
}