Ορισμός χρονικού ορίου φόρτωσης σελίδας 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 του εκτελεστή | Το ξεχωριστό αίτημα ελέγχου από το σενάριο δοκιμής στο πρόγραμμα οδήγησης |
Αν αυτή η σύνδεση ελέγχου κολλήσει ή πάρει ακατάλληλο διακομιστή μεσολάβησης, ο προϋπολογισμός πλοήγησης του προγράμματος περιήγησης δεν το διορθώνει. Οι ροές εργασίας πολλών βημάτων χρειάζονται επίσης συνολικό προϋπολογισμό εργασίας· ένας εκτελεστής που επιβλέπει μπορεί να εντοπίσει σταματημένη πρόοδο ξεχωριστά από μία πλοήγηση.
Κρατήστε το αναφερόμενο χρονόμετρο ή τη μεταφορά στην εγγραφή αποτυχίας. Ένα χρονικό όριο πλοήγησης μόνο του δεν ξεχωρίζει τη ρύθμιση του διακομιστή μεσολάβησης, την καθυστέρηση προορισμού και τη συμπεριφορά φόρτωσης της ίδιας της σελίδας.