تنظیم مهلت بارگذاری صفحه 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 در اجراکننده | درخواست کنترل جداگانه از اسکریپت آزمون به درایور |
اگر آن اتصال کنترل معلق بماند یا پروکسی نامناسبی بگیرد، بودجه پیمایش مرورگر آن را درست نمیکند. جریانهای کاری چندمرحلهای هم به بودجه کلی کار نیاز دارند؛ یک اجراکننده ناظر میتواند پیشرفت متوقفشده را جدا از یک پیمایش تشخیص دهد.
تایمر یا انتقال گزارششده را در رکورد خطا نگه دارید. مهلت پیمایش بهتنهایی پیکربندی پروکسی، تأخیر مقصد و رفتار بارگذاری خود صفحه را از هم جدا نمیکند.