【发布时间】:2014-08-01 02:27:28
【问题描述】:
我想在元素不存在时执行 case,但它会抛出异常。如果我使用 try catch,我需要等待 implicitlyWait 时间。还有其他更好的方法吗?
【问题讨论】:
-
请添加代码或使用标签。这将对您尝试过的其他方法有所帮助。
-
不存在 = 在 DOM 或屏幕上?不同的东西。
我想在元素不存在时执行 case,但它会抛出异常。如果我使用 try catch,我需要等待 implicitlyWait 时间。还有其他更好的方法吗?
【问题讨论】:
您的问题并不清楚,但如果您想在元素不存在时运行测试用例,请使用findElements 而不是findElement。
类似:
driver.findElements(//your criteria)
即使您的元素不存在,它也不会引发错误。相反,它返回空列表。那你就可以用size的方法来检查了!
希望对你有帮助。
【讨论】:
您可以检查页面上是否显示元素:
driver.findElement(By.id("foo")).isDisplayed();
【讨论】:
以下是完整代码:
Integer x=driver.findElements(By.id("XYZ")).size();
if(x>0)
System.out.println("Element exists");
else
System.out.println("Element does not exist");
【讨论】: