Rumah > Java > javaTutorial > Mengapa Saya Mendapat Ralat 'Rujukan Elemen Lapuk' dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Saya Mendapat Ralat 'Rujukan Elemen Lapuk' dan Bagaimana Saya Boleh Membetulkannya?

DDD
Lepaskan: 2024-11-04 22:12:02
asal
301 orang telah melayarinya

Why Do I Get

Rujukan Elemen Lapuk: Sebab dan Penyelesaian

Ralat "rujukan elemen basi" berlaku apabila elemen dalam DOM tidak lagi tersedia, lazimnya disebabkan ia dikeluarkan atau dicipta semula. Dalam kod yang disediakan, ralat berlaku kerana elemen yang dirujuk oleh BenefitStatusLi Xpath tidak lagi sah.

Struktur HTML menunjukkan bahawa pautan BenefitStatus bersarang dalam

  • elemen yang dimuatkan secara dinamik. Kod ini berulang melalui senarai pautan navigasi dan carian untuk teks BenefitStatus. Walau bagaimanapun, apabila ia cuba mengklik elemen menggunakan Xpath yang dikira, elemen itu mungkin telah digantikan dengan pautan BenefitStatus baharu dengan Xpath yang berbeza.

    Untuk menyelesaikan isu ini, gunakan penantian yang jelas untuk memastikan elemen tersebut dimuatkan dan stabil. Selain itu, kendalikan pengecualian rujukan unsur lapuk dengan mencuba semula untuk mencari elemen:

    <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>
    Salin selepas log masuk

    Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Rujukan Elemen Lapuk' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

  • sumber:php.cn
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan