Selenium WebDriver StaleElementReferenceException。
Seleniumwebdriver中有StaleElementReferenceException。顾名思义,“陈旧”一词指的是不是新的和灭亡的东西。在某些情况下,由于DOM的修改,以前在DOM中存在的元素现在不再可用。
在这种情况下,如果我们尝试访问该元素,则会引发StaleElementReferenceException。由于以下原因,遇到这种类型的异常-
元素不再存在于DOM中。
该元素已完全删除。
我们可以通过某些方法来防止StaleElementReferenceException发生,如下-
我们可以重新加载网页并尝试与同一元素进行交互。
driver.navigate().refresh();
driver.findElement(By.id("txt")).sendKeys("Selenium");我们可以添加一个trycatch块并与同一元素进行交互。在这里,对于for循环,应该进行五次尝试。如果在五次尝试之前识别出该元素,则应退出循环。
for(int k=0; k<=5;k++){
try{
driver.findElement(By.id("txt")).sendKeys("Selenium");
break;
}
catch(Exception exp){
System.out.println(exp.message());
}
}为了防止StaleElementReferenceException我们可以添加明确的等待 [同步]等待,直到元素元素在DOM渲染与预期条件的帮助presenceOfElementLocated。
w.until(ExpectedConditions.presenceOfElementLocated(By.name("presence")));热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短