Ustawianie limitu czasu wczytywania strony Selenium za proxy
Ustaw limit czasu nawigacji przeglądarki i odróżnij go od oczekiwania na elementy, limitów czasu skryptów oraz połączenia sterującego 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.')
Ustaw to przed nawigacją na sterowniku już skonfigurowanym z zamierzonym proxy. Metoda Pythona przyjmuje sekundy.
Wybrana strategia wczytywania strony określa zakończenie: normal czeka na pełną gotowość dokumentu, a eager używa wcześniejszego stanu. Żadna nie czeka na każde przyszłe żądanie utworzone przez skrypt.
| Limit | Ograniczona praca |
|---|---|
| Limit czasu wczytywania strony | Nawigacja osiągająca wybrany stan zakończenia |
| Oczekiwanie niejawne | Próby zlokalizowania elementu |
| Limit czasu skryptu | Mające zastosowanie asynchroniczne wykonanie skryptu |
| Limit czasu transportu WebDriver w narzędziu uruchamiającym | Osobne żądanie sterujące ze skryptu testowego do sterownika |
Jeśli to połączenie sterujące zawiesza się lub używa nieodpowiedniego proxy, budżet nawigacji przeglądarki tego nie naprawi. Przepływy wieloetapowe potrzebują też ogólnego budżetu zadania; nadzorujące narzędzie uruchamiające może wykryć zatrzymany postęp niezależnie od pojedynczej nawigacji.
Zachowaj zgłoszony licznik czasu lub transport w zapisie błędu. Sam limit czasu nawigacji nie rozróżnia konfiguracji proxy, opóźnienia celu i własnego zachowania strony przy wczytywaniu.