Menyetel batas waktu pemuatan halaman Selenium di balik proxy
Setel batas waktu navigasi peramban dan bedakan dari penantian elemen, batas waktu skrip, serta koneksi kendali WebDriver.
from selenium.common.exceptions import TimeoutException
driver.set_page_load_timeout(30)
try:
driver.get('https://example.com/')
except TimeoutException:
print('The navigation did not finish within its page-load timeout.')
Setel ini sebelum navigasi pada pengandar yang sudah dikonfigurasi dengan proxy yang dimaksud. Metode Python menerima satuan detik.
Strategi pemuatan halaman yang dipilih menentukan penyelesaian: normal menunggu kesiapan dokumen sepenuhnya, sedangkan eager memakai keadaan yang lebih awal. Keduanya tidak menunggu setiap permintaan yang dibuat skrip di kemudian hari.
| Batas | Pekerjaan yang dibatasi |
|---|---|
| Batas waktu pemuatan halaman | Navigasi mencapai keadaan penyelesaian yang dipilih |
| Penantian implisit | Upaya menemukan elemen |
| Batas waktu skrip | Eksekusi skrip asinkron yang berlaku |
| Batas waktu transport WebDriver milik runner | Permintaan kendali terpisah dari skrip uji ke pengandar |
Jika koneksi kendali itu macet atau memakai proxy yang tidak sesuai, anggaran navigasi peramban tidak memperbaikinya. Alur kerja bertahap juga memerlukan anggaran pekerjaan menyeluruh; runner pengawas dapat mendeteksi kemacetan kemajuan secara terpisah dari satu navigasi.
Simpan penghitung waktu atau transport yang dilaporkan dalam catatan kegagalan. Batas waktu navigasi saja tidak membedakan penyiapan proxy, keterlambatan tujuan, dan perilaku pemuatan halaman itu sendiri.