Maison  >  Article  >  développement back-end  >  Comment rendre les scripts Selenium plus rapides en limitant le temps d'attente de chargement des pages ?

Comment rendre les scripts Selenium plus rapides en limitant le temps d'attente de chargement des pages ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-17 11:26:02298parcourir

How to Make Selenium Scripts Faster by Limiting Page Load Wait Time?

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 :

  • normal : (par défaut) Attendez le chargement complet de la page.
  • impatient : Attendez uniquement les éléments interactifs .
  • aucun :N'attendez pas le chargement de la page.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn