Задаване на време за изчакване при зареждане на страница в Selenium зад прокси
Задайте време за изчакване на навигацията в браузъра и го разграничете от изчакванията за елементи, времената за скриптове и контролната връзка на 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.')
Задайте това преди навигация върху драйвера, вече конфигуриран с желаното прокси. Методът на Python приема секунди.
Избраната стратегия за зареждане на страница определя завършването: normal изчаква пълна готовност на документа, а eager използва по-ранно състояние. Нито една не изчаква всяка бъдеща заявка, създадена от скрипт.
| Ограничение | Ограничена работа |
|---|---|
| Време за изчакване при зареждане на страница | Навигация, достигаща избраното състояние на завършване |
| Неявно изчакване | Опити за локализиране на елемент |
| Време за изчакване на скрипт | Приложимо асинхронно изпълнение на скрипт |
| Време за изчакване на WebDriver транспорта на изпълнителя | Отделната контролна заявка от тестовия скрипт към драйвера |
Ако тази контролна връзка се закачи или поеме неподходящо прокси, бюджетът за навигация в браузъра не го оправя. Многостъпните работни процеси се нуждаят и от общ бюджет за задачата; наблюдаващ изпълнител може да открие застой на прогреса отделно от единична навигация.
Пазете отчетения таймер или транспорт в записа за грешката. Само времето за изчакване на навигация не различава настройката на прокси, забавянето на дестинацията и собственото поведение на страницата при зареждане.