הגדרת פסק זמן לטעינת עמוד של 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 של המריץ | בקשת הבקרה הנפרדת מסקריפט הבדיקה אל הדרייבר |
אם חיבור הבקרה הזה נתקע או משתמש בפרוקסי לא מתאים, תקציב הניווט של הדפדפן אינו מתקן זאת. תהליכי עבודה מרובי שלבים זקוקים גם לתקציב כולל למשימה; מריץ מפקח יכול לזהות התקדמות תקועה בנפרד מניווט בודד.
שמרו את הטיימר או התעבורה המדווחת ברשומת הכשל. פסק זמן ניווט לבדו אינו מבדיל בין הגדרת הפרוקסי, עיכוב היעד והתנהגות הטעינה של העמוד עצמו.