我正在尝试使用findElements
在页面中找到链接。为了评估这个陈述,需要花费很多时间。有没有一种有效的方法来查找链接是否存在?
driver.findElements(By.linkText("New pool")).size()<=0
答案 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;
}
}