我正在测试一个 UI,用户在其中单击删除按钮并且表格条目消失。因此,我希望能够检查表条目是否不再存在。
我尝试使用 ExpectedConditions.not()
来反转 ExpectedConditions.presenceOfElementLocated()
,希望这意味着“预计不存在指定元素”。我的代码是这样的:
browser.navigate().to("http://stackoverflow.com");
new WebDriverWait(browser, 1).until(
ExpectedConditions.not(
ExpectedConditions.presenceOfElementLocated(By.id("foo"))));
但是,我发现即使这样做,我也会得到一个 TimeoutExpcetion
由 NoSuchElementException
引起,说元素“foo”不存在。当然,没有这样的元素是我想要的,但我不想抛出异常。
那么我怎么能等到一个元素不再存在呢?我更喜欢一个尽可能不依赖于捕获异常的示例(据我了解,应该为异常行为抛出异常)。
原文由 Thunderforge 发布,翻译遵循 CC BY-SA 4.0 许可协议
您还可以使用 -
如果你浏览它 的源代码,你可以看到
NoSuchElementException
和staleElementReferenceException
都被处理了。