Selenium en attente de scripts lents : stratégies et solutions
Le comportement par défaut de Selenium est d'attendre qu'une page soit complètement chargée, ce qui peut entraîner des retards lorsque vous rencontrez des scripts lents. Ce problème devient encore plus évident lorsqu'il s'agit de pages qui tentent perpétuellement de charger des scripts morts ou qui ne répondent pas. Pour surmonter ce défi, nous pouvons modifier la stratégie de chargement des pages de Selenium.
Configuration de pageLoadStrategy
Selenium propose trois options pour pageLoadStrategy :
En configurant pageLoadStrategy, nous pouvons contrôler la durée Selenium attend que les éléments de la page soient disponibles.
Exemple : configuration de pageLoadStrategy pour Firefox
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().FIREFOX caps["pageLoadStrategy"] = "eager" # Interactive driver = webdriver.Firefox(desired_capabilities=caps, executable_path=r'C:\path\to\geckodriver.exe') driver.get("http://google.com")
Exemple : configuration de pageLoadStrategy pour Chrome
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().CHROME caps["pageLoadStrategy"] = "none" # Do not wait driver = webdriver.Chrome(desired_capabilities=caps, executable_path=r'C:\path\to\chromedriver.exe') driver.get("http://google.com")
Remarque : La valeur pageLoadStrategy « impatiente » est actuellement en cours de développement pour ChromeDriver. Reportez-vous à la documentation pour les mises à jour sur son statut.
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!