Наладзіць тайм-аўт загрузкі старонкі 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 у запускальніку | Асобны кіраўнічы запыт ад тэставага скрыпта да драйвера |
Калі гэтае кіраўнічае злучэнне завісне або возьме непрыдатны проксі, бюджэт навігацыі браўзера гэтага не выправіць. Шматкрокавыя працэсы таксама патрабуюць агульнага бюджэту задачы; наглядны запускальнік можа выявіць спыненне прагрэсу асобна ад адной навігацыі.
Захоўвайце паведамлены таймер або транспарт у запісе аб збоі. Адзін толькі тайм-аўт навігацыі не адрознівае наладку проксі, затрымку прызначэння і ўласныя паводзіны старонкі пры загрузцы.