Dalam Selenium, mengesahkan sama ada halaman web telah dimuatkan sepenuhnya ialah keperluan biasa. Semasa melaksanakan fungsi ini, pengguna sering menghadapi masalah dengan penyelesaian sedia ada.
Ketersediaan Fungsi Generik
Malangnya, tiada fungsi generik dalam Selenium yang menyemak secara langsung sama ada halaman mempunyai dimuatkan sepenuhnya.
Strategi Pemuatan Halaman dan JavaScript Pelaksanaan
Dalam percubaan kod anda, anda menggunakan pageLoadTimeout dan penilaian document.readyState. Walau bagaimanapun, strategi pemuatan halaman mengawal apabila Selenium menganggap halaman dimuatkan sepenuhnya, ia tidak menjamin semua elemen hadir. Menunggu dokumen.readyState menjadi "lengkap" hanya menunjukkan struktur HTML tersedia.
Menunggu Muatan Halaman Lengkap
Pendekatan yang lebih komprehensif diperlukan untuk memastikan semua elemen halaman kelihatan dan dimuatkan.
Muatan Halaman Strategi
Menetapkan Strategi Pemuatan Halaman kepada "biasa" menggunakan DesiredCapabilities atau ChromeOptions membantu dalam menangkap apabila document.readyState "lengkap". Walau bagaimanapun, ini masih tidak menjamin semua sumber dimuatkan.
Elemen Dinamik Menunggu
Untuk halaman dinamik dengan panggilan JavaScript dan Ajax, anda boleh menggunakan fungsi berikut untuk tunggu siap:
public void WaitForAjax2Complete() throws InterruptedException { while (true) { if ((Boolean) ((JavascriptExecutor)driver).executeScript("return jQuery.active == 0")) { break; } Thread.sleep(100); } }
Dijangka Syarat
Menggunakan WebDriverWait dengan ExpectedConditions seperti titleContains() atau visibilityOfElementLocated() boleh memastikan bahawa tajuk halaman kelihatan atau elemen tertentu boleh diakses, masing-masing.
new WebDriverWait(driver, 10).until(ExpectedConditions.titleContains("partial_title_of_application_under_test"));
Kesimpulan
Menyemak sama ada web halaman dimuatkan sepenuhnya dalam Selenium memerlukan pendekatan pelbagai rupa, termasuk Strategi Pemuatan Halaman, menunggu kandungan dinamik dan mengesahkan elemen tertentu tersedia. Pertimbangkan contoh dan rujukan yang disediakan untuk meningkatkan pelaksanaan anda sendiri.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memeriksa Muatan Halaman Lengkap dalam Selenium dengan Amanah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!