Magtakda ng Selenium page-load timeout sa likod ng proxy
Magtakda ng timeout ng pag-navigate ng browser at ibukod ito sa mga paghihintay ng elemento, timeout ng script at koneksyon ng kontrol ng 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.')
Itakda ito bago ang pag-navigate sa driver na naka-configure na sa nilalayong proxy. Ang pamamaraan ng Python ay tumatanggap ng segundo.
Ang napiling estratehiya sa pag-load ng pahina ang tumutukoy sa pagkumpleto: naghihintay ang normal sa buong kahandaan ng dokumento, samantalang gumagamit ang eager ng mas maagang estado. Wala sa dalawa ang naghihintay sa bawat hinaharap na kahilingang nilikha ng script.
| Limitasyon | Trabahong limitado |
|---|---|
| Timeout ng pag-load ng pahina | Pag-abot ng pag-navigate sa napiling estado ng pagkumpleto |
| Di-tahasang paghihintay | Mga pagtatangkang hanapin ang elemento |
| Timeout ng script | Naaangkop na async na pagpapatupad ng script |
| Timeout ng transport ng WebDriver ng runner | Ang hiwalay na kahilingan ng kontrol mula sa script ng pagsubok patungo sa driver |
Kung ang koneksyong iyon ng kontrol ay mag-hang o kumuha ng hindi angkop na proxy, hindi iyon inaayos ng badyet sa pag-navigate ng browser. Ang mga workflow na may maraming hakbang ay nangangailangan din ng pangkalahatang badyet ng trabaho; ang runner na nagmamatyag ay maaaring makakita ng natigil na pag-unlad nang hiwalay sa isang pag-navigate.
Itago ang iniulat na timer o transport sa talaan ng pagkabigo. Ang timeout ng pag-navigate lamang ay hindi nakikilala ang setup ng proxy, pagkaantala ng destinasyon at pag-uugali ng pag-load ng pahina mismo.