Pengecualian Rujukan Elemen Lapuk dalam Selenium WebDriver: Penyelesaian Masalah dan Penyelesaian
Pengecualian Rujukan Elemen Lapuk Selenium WebDriver berlaku apabila rujukan yang diperoleh sebelumnya dalam WebvalidElement Element disebabkan oleh perubahan dalam DOM asas. Isu ini timbul apabila elemen dikemas kini atau dialih keluar secara dinamik, menjadikan rujukan sedia ada menjadi usang.
Punca Pengecualian
Pengecualian boleh berlaku apabila:
Kod Contoh dan Butiran Pengecualian
Coretan kod yang disediakan mengalami pengecualian semasa pengecaman elemen kerana DOM berubah apabila kotak dialog dibuka dan ditutup:
WebElement textElement = driver.findElement(By.name("createForm:dateInput_input"));
Surih ralat memaparkan mesej berikut:
org.openqa.selenium.StaleElementReferenceException: stale element reference: element is not attached to the page document
Penyelesaian: Muat semula Rujukan WebElement
Untuk menyelesaikan masalah isu, anda perlu memuat semula rujukan WebElement selepas sebarang perubahan DOM yang boleh membatalkannya. Penyelesaian yang biasa digunakan termasuk:
WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.visibilityOfElementLocated(By.name("createForm:dateInput_input")));
WebElement textElement = (WebElement) ((JavascriptExecutor) driver) .executeScript("return document.querySelector('input[name=\"createForm:dateInput_input\"]')");
Petua Tambahan
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Pengecualian Rujukan Elemen Stale dalam Selenium WebDriver?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!