【发布时间】:2014-08-20 23:01:13
【问题描述】:
我目前正在通过执行以下操作来检查 WebElement 是否过时:
public static boolean isStale(WebElement element) {
try {
element.click();
return false;
} catch (StaleElementReferenceException sere) {
return true;
}
}
这与为这个问题提供的解决方案相同:
Check for a stale element using selenium 2?
但是,这对我来说似乎相当混乱。有没有一种更简洁的方法可以检查元素是否过时,而无需抛出和捕获异常?
(另外,如果我必须坚持抛出和捕获异常,有没有比单击/发送键/悬停抛出所述异常更好的方法?我可能有一个我没有的 WebElement想要执行任何这些操作,因为它可能会无意中影响其他事情。)
【问题讨论】:
-
您可以在网络元素上使用
getLocation或任何其他getter,而不是点击。请注意,某些 getter 可能无法连接到 Web 驱动程序,因此可能不会抛出StaleElementReferenceException
标签: selenium selenium-webdriver