过时元素参考:原因和解决方案
当 DOM 中的元素不再可用时,就会出现“过时元素引用”错误,通常是由于它被删除或重新创建。在提供的代码中,发生错误的原因是 BenefitStatusLi Xpath 引用的元素不再有效。
HTML 结构显示 BenefitStatus 链接嵌套在
要解决此问题,请使用显式等待来确保该元素已加载且稳定。此外,通过重试定位元素来处理过时元素引用异常:
<code class="java">WebDriverWait wait = new WebDriverWait(driver, 10); try { WebElement benefitStatLi = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(String.format(BenefitStatLi, i)))); benefitStatLi.click(); } catch (StaleElementReferenceException ex) { WebElement benefitStatLi = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(String.format(BenefitStatLi, i)))); benefitStatLi.click(); }</code>
以上是为什么会出现'过时元素引用”错误以及如何修复它们?的详细内容。更多信息请关注PHP中文网其他相关文章!