Selenium oldalbetöltési időtúllépés beállítása proxy mögött
Állítson be böngészőnavigációs időtúllépést, és különböztesse meg az elemvárakozásoktól, a szkript-időtúllépésektől és a WebDriver vezérlőkapcsolatától.
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.')
Ezt a navigáció előtt állítsa be a már a kívánt proxyval konfigurált illesztőn. A Python metódusa másodperceket fogad.
A kiválasztott oldalbetöltési stratégia határozza meg a befejeződést: a normal a dokumentum teljes készenlétét várja, míg az eager egy korábbi állapotot használ. Egyik sem vár minden jövőbeli, szkript által létrehozott kérésre.
| Korlát | Korlátozott munka |
|---|---|
| Oldalbetöltési időtúllépés | A navigáció eléri a kiválasztott befejezési állapotát |
| Implicit várakozás | Elemmeghatározási kísérletek |
| Szkript időtúllépés | Alkalmazandó aszinkron szkriptvégrehajtás |
| A futtató WebDriver-szállítási időtúllépése | A teszt-szkripttől az illesztő felé irányuló külön vezérlőkérés |
Ha ez a vezérlőkapcsolat lefagy vagy nem megfelelő proxyt használ, a böngészőnavigációs keret ezt nem javítja. A többlépéses munkafolyamatoknak is szükségük van teljes feladatkeretre; egy felügyelő futtató az egyes navigációktól külön is észlelheti az elakadt előrehaladást.
Tartsa meg a jelentett időzítőt vagy szállítást a hiba rekordjában. Az önmagában vett navigációs időtúllépés nem különbözteti meg a proxy beállítását, a cél késleltetését és az oldal saját betöltési viselkedését.