Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengendalikan Pengecualian Rujukan Elemen Stale dalam Selenium WebDriver?

Bagaimana untuk Mengendalikan Pengecualian Rujukan Elemen Stale dalam Selenium WebDriver?

Linda Hamilton
Linda Hamiltonasal
2024-11-15 04:02:02751semak imbas

How to Handle Stale Element Reference Exception in Selenium WebDriver?

Cara Menangani Pengecualian Rujukan Elemen Basi dalam Selenium WebDriver

Pengecualian Rujukan Elemen Basi Selenium WebDriver berlaku apabila anda cuba menggunakan rujukan kepada elemen dalam DOM yang telah tidak sah atau tidak lagi sah. Ini boleh berlaku apabila halaman web yang kompleks mengubah suai DOM mereka secara dinamik, menyebabkan elemen dimusnahkan dan dicipta semula.

Memahami WebElement

WebElement mewakili elemen dalam DOM. Hasil daripada gelagat halaman dinamik, elemen boleh dimusnahkan dan kemudian dibuat semula, menjadikan rujukan WebElement sedia ada tidak sah.

Menyelesaikan Pengecualian Rujukan Elemen Lapuk

Setiap kali menghadapi StaleElementException, penyelesaiannya terletak pada menyegarkan rujukan anda dengan mencari elemen itu semula. Proses ini melibatkan pengesanan elemen sekali lagi menggunakan strategi pencari yang boleh dipercayai, seperti By.id atau By.xpath.

Contoh Dunia Sebenar

Pertimbangkan kod berikut coretan:

WebElement element = driver.findElement(By.id("my-element"));
element.click();
// Page is modified dynamically
driver.findElement(By.id("my-element")).sendKeys("New Value"); // Stale Element Reference Exception

Untuk menyelesaikan pengecualian ini, kami boleh memuat semula rujukan WebElement kami:

WebElement refreshedElement = driver.findElement(By.id("my-element"));
refreshedElement.sendKeys("New Value");

Dengan mencari semula elemen, kami memastikan bahawa kami mempunyai rujukan yang sah kepada DOM elemen dan boleh terus berinteraksi dengannya.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Pengecualian Rujukan Elemen Stale dalam Selenium WebDriver?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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