Définir un délai de chargement de page Selenium derrière un proxy
Définissez un délai de navigation du navigateur et distinguez-le des attentes d'élément, des délais de script et de la connexion de contrôle 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.')
Définissez-le avant la navigation sur le pilote déjà configuré avec le proxy prévu. La méthode de Python prend des secondes.
La stratégie de chargement de page choisie définit l'achèvement : normal attend la disponibilité complète du document, tandis que eager utilise un état antérieur. Aucune n'attend chaque requête future créée par un script.
| Limite | Travail borné |
|---|---|
| Délai de chargement de page | Navigation atteignant son état d'achèvement choisi |
| Attente implicite | Tentatives de localisation d'élément |
| Délai de script | Exécution asynchrone de script applicable |
| Délai de transport WebDriver du lanceur | La requête de contrôle distincte du script de test vers le pilote |
Si cette connexion de contrôle se bloque ou prend un proxy inadapté, le budget de navigation du navigateur n'y remédie pas. Les flux de travail à plusieurs étapes ont aussi besoin d'un budget global ; un lanceur superviseur peut détecter une progression bloquée indépendamment d'une seule navigation.
Conservez le minuteur ou le transport signalé dans l'enregistrement d'échec. Un délai de navigation seul ne distingue pas la configuration du proxy, le retard de la destination et le comportement de chargement de la page elle-même.