检查使用正常的webdriver方法findElements元素很容易,如:使用Selenium WebDriver页面工厂检查元素是否存在?
boolean exists = driver.findElements(By.id("...")).size() != 0
元素通过页面出厂初始化是这样的:
但是我们怎么能检查在我们的页面这个元素是否存在于页面上?
检查使用正常的webdriver方法findElements元素很容易,如:使用Selenium WebDriver页面工厂检查元素是否存在?
boolean exists = driver.findElements(By.id("...")).size() != 0
元素通过页面出厂初始化是这样的:
但是我们怎么能检查在我们的页面这个元素是否存在于页面上?
这里的东西,我想出了:
public boolean isElementPresent(WebElement we)
{
try {
we.getTagName();
} catch (NoSuchElementException e) {
flag = 1;
}
if (flag == 1)
return true;
else
return false;
}
这是非常简单而有效的方式做到这一点..
的isDisplayed()方法应该做的工作:
if (filterText.isDisplayed()) {
filterText.doStuff();
}
是的,它会完成工作,但有时有些元素存在,但在特定时间点被隐藏! 这不会捕获,我想出了一些东西,看看它 http://stackoverflow.com/a/18145746/2043083 –
它只会在元素在页面上时才起作用。如果不是,它会返回一个异常! –
其结合你用'selenium-webdriver'? –
@Babai:我使用java与selenium-webdriver –
@vincebowdren assert可能只是失败的测试用例,我想要的是,基于元素的决定是否存在于页面上或不是 –