运行测试时出现此错误: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出现问题的元素上使用此功能。