我在 Java 中有一个 selenium 测试,我正在做一些这样的断言:
assertFalse(isElementPresent(By.xpath("//td[2]/div")));
private boolean isElementPresent(By by) {
try { driver.findElement(by); return true; }
catch (NoSuchElementException e) {
return false; }
这是从 IDE 导出到 Java Webdriver 时 Selenium 生成的标准方法。
(是的,我想断言这个元素不存在)
当我在上面的代码行进行测试时,我总是遇到错误错误:过时的元素引用:元素未附加到 DOM
但是,当我在该步骤前面放置一个 thread.sleep 时,它可以工作。我不明白的事实是等待 1 毫秒就足够了。在断言之前等待是典型的吗?还有其他方法可以解决这个问题吗?(隐式等待在这里没有帮助)来自德国的问候!