Đặt thời gian chờ tải trang Selenium sau proxy
Đặt thời gian chờ điều hướng của trình duyệt và phân biệt nó với việc chờ phần tử, thời gian chờ của script và kết nối điều khiển 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.')
Hãy đặt điều này trước khi điều hướng trên driver đã được cấu hình với proxy mong muốn. Phương thức của Python nhận đơn vị giây.
Chiến lược tải trang đã chọn quyết định việc hoàn tất: normal chờ tài liệu sẵn sàng hoàn toàn, còn eager dùng trạng thái sớm hơn. Cả hai đều không chờ mọi yêu cầu do script tạo ra trong tương lai.
| Giới hạn | Công việc được giới hạn |
|---|---|
| Thời gian chờ tải trang | Điều hướng đạt trạng thái hoàn tất đã chọn |
| Chờ ngầm định | Các lần thử định vị phần tử |
| Thời gian chờ script | Việc thực thi script bất đồng bộ áp dụng được |
| Thời gian chờ truyền tải WebDriver của trình chạy | Yêu cầu điều khiển riêng từ script kiểm thử tới driver |
Nếu kết nối điều khiển đó bị treo hoặc dùng proxy không phù hợp, ngân sách điều hướng của trình duyệt không khắc phục được. Các luồng công việc nhiều bước cũng cần ngân sách tổng cho công việc; trình chạy giám sát có thể phát hiện tiến độ bị đình trệ tách biệt với một lần điều hướng.
Giữ bộ hẹn giờ hoặc truyền tải đã báo cáo trong bản ghi lỗi. Chỉ thời gian chờ điều hướng không phân biệt được việc thiết lập proxy, độ trễ của đích đến và hành vi tải của chính trang.