【发布时间】:2017-04-04 09:31:53
【问题描述】:
我想通过 .isDisplayed() 方法使用条件函数。只要此方法返回 true,一切正常。
我认为这里不需要HTML,因为我在页面上只有一个按钮可见,这是正确找到的(我成功点击了带有以下xpath的按钮。
现在我尝试:
if (driver.findElement(By.xpath("//a[@id='button1']")).isDisplayed()) {
//do stuff
}
else {
//do other stuff
}
甚至
WebElement withdrawnBtn = driver.findElement(By.xpath("//a[@id='button1']"));
boolean isVisible = withdrawnBtn.isDisplayed();
if (isVisible) {
//do stuff
}
else {
//do other stuff
}
但是两个条件都失败了,如果在第一次运行中应该执行来自else的代码,因为每次按钮不可用时,都会有失败指向driver.findElement(By.xpath("//a[@id='button1']")).isDisplayed());-失败,因为按钮是不显示。当按钮不显示而不是代码失败时,我需要做点什么......
【问题讨论】:
-
查看 HTML 标准。 DOM 中的任何元素都可以(如果我要简化的话):显示(通常是最明显和最常见的类型)、缺失(任何地方都没有这样的元素)、隐藏(通过多种方法,包括设置
visibility:none)。您将不得不重新考虑您的代码,通常快速答案是不正确的。
标签: java selenium selenium-webdriver