Rumah > Java > javaTutorial > Bagaimana untuk Menentukan Penyiapan Pemuatan Halaman Web dalam Selenium?

Bagaimana untuk Menentukan Penyiapan Pemuatan Halaman Web dalam Selenium?

Susan Sarandon
Lepaskan: 2024-12-20 12:45:24
asal
219 orang telah melayarinya

How to Reliably Determine Web Page Load Completion in Selenium?

Cara Menentukan Penyiapan Muatan Halaman dalam Selenium

Selenium menyediakan pelbagai pendekatan untuk menyemak sama ada halaman web telah dimuatkan sepenuhnya, termasuk:

Tetapan Tamat Masa Muat Halaman

Menggunakan kaedah pageLoadTimeout(), Selenium menunggu pemuatan halaman selesai dalam masa tamat yang ditentukan. Walau bagaimanapun, kaedah ini mungkin tidak boleh dipercayai dalam semua kes.

Tetapkan Strategi Pemuatan Halaman kepada Normal

Anda boleh menetapkan pageLoadStrategy kepada normal menggunakan kelas DesiredCapabilities atau ChromeOptions. Ini memastikan penyemak imbas menunggu dokumen.readyState menjadi "lengkap" sebelum melaksanakan baris kod seterusnya.

Menunggu Panggilan JavaScript dan Ajax

Untuk menunggu untuk semua panggilan JavaScript dan Ajax selesai, anda boleh menggunakan fungsi tersuai yang menyemak jQuery.active harta:

public void waitForAjax2Complete() throws InterruptedException {
    while (true) {
        if ((Boolean) ((JavascriptExecutor)driver).executeScript("return jQuery.active == 0")){
            break;
        }
        Thread.sleep(100);
    }
}
Salin selepas log masuk

Menggunakan ExpectedConditions

Anda boleh menggunakan kelas ExpectedConditions untuk menunggu syarat tertentu dipenuhi sebelum meneruskan, seperti tajuk halaman yang mengandungi tertentu rentetan:

new WebDriverWait(driver, 10).until(ExpectedConditions.titleContains("partial_title_of_application_under_test"));
Salin selepas log masuk

Atau keterlihatan sesuatu elemen:

WebElement ele = new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath_of_the_desired_element")));
Salin selepas log masuk

Kesimpulan

Walaupun tiada fungsi generik dalam Selenium untuk menyemak sama ada halaman telah dimuatkan sepenuhnya, pendekatan yang diterangkan di atas menyediakan penyelesaian yang berkesan untuk kes guna. Dengan mempertimbangkan strategi pemuatan halaman, menunggu panggilan JavaScript dan Ajax, atau menggunakan ExpectedConditions, anda boleh memastikan ujian anda menunggu keadaan yang sesuai sebelum meneruskan.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Penyiapan Pemuatan Halaman Web dalam Selenium?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan