過時元素參考:原因和解決方案
當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中文網其他相關文章!