Surmonter l'attente de chargement d'une page complète par défaut de Selenium
Le comportement par défaut de Selenium est d'attendre qu'une page soit complètement chargée avant de continuer. Cela peut être problématique lorsque vous rencontrez des scripts lents ou qui ne répondent pas, en particulier lors du scraping ou de l'automatisation de tâches. Voici une solution pour limiter le temps d'attente et contourner le chargement des fichiers AJAX :
Configurer PageLoadStrategy
Selenium offre la possibilité de personnaliser la stratégie de chargement des pages à l'aide du paramètre pageLoadStrategy. Il prend en charge trois valeurs :
Implémentation
Pour configurer pageLoadStrategy, utilisez le Classe DesiredCapabilities :
Python (Firefox)
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().FIREFOX caps["pageLoadStrategy"] = "eager" driver = webdriver.Firefox(desired_capabilities=caps)
Python (Chrome)
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().CHROME caps["pageLoadStrategy"] = "eager" driver = webdriver.Chrome(desired_capabilities=caps)
Remarque : La stratégie de chargement de page rapide n'est pas encore entièrement prise en charge par ChromeDriver. Cependant, vous pouvez surmonter ce problème en configurant PhantomJS ou Firefox.
En définissant pageLoadStrategy sur impatient, Selenium attend uniquement que la page devienne réactive, évitant ainsi les retards causés par des scripts lents. Cela permet une exécution plus rapide de vos scripts et une automatisation plus fluide sans compromettre la stabilité du navigateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!