运行测试时出现此错误:org.openqa.selenium.StaleElementReferenceException:元素不再附加到DOM
关于如何解决上述异常的任何想法?这发生在我的网格中,该网格具有动态的ref Xpath表达式
我遇到了同样的问题,找不到任何解决方案。提出了一个解决方案并将其发布在这里,希望这对遇到相同问题的人有所帮助。我创建了一个类来处理过时的元素,具体取决于它们的类型,cssselector,id等,并像调用其他任何页面对象一样简单地对其进行调用。
public void StaleElementHandleByID (String elementID) { int count = 0; boolean clicked = false; while (count < 4 && !clicked) { try { WebElement yourSlipperyElement= driver.findElement(By.id(elementID)); yourSlipperyElement.click(); clicked = true; } catch (StaleElementReferenceException e) { e.toString(); System.out.println("Trying to recover from a stale element :" + e.getMessage()); count = count+1; } } }
我建议仅在您知道会导致WebDriver出现问题的元素上使用此功能。