Maison >développement back-end >Tutoriel Python >Comment éviter les attentes de chargement d'une page complète dans Selenium avec des scripts à chargement lent ?

Comment éviter les attentes de chargement d'une page complète dans Selenium avec des scripts à chargement lent ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-12 18:00:03251parcourir

How to Avoid Full Page Load Waits in Selenium with Slow-loading Scripts?

Surmonter les attentes de chargement d'une page complète dans Selenium avec des scripts à chargement lent

Le comportement par défaut de Selenium est d'attendre qu'une page soit complètement chargée avant de continuer avec exécution. Cependant, cela peut devenir problématique lorsqu'une page contient des scripts JavaScript à chargement lent. Pour éviter des temps d'attente prolongés, il est crucial de configurer la pageLoadStrategy de Selenium.

Le paramètre pageLoadStrategy permet de préciser le niveau de chargement de page souhaité :

  • normal : Chargement de la page complète (par défaut)
  • impatient : interactif chargement de la page (lorsque l'utilisateur peut interagir avec des éléments, mais que la page n'est peut-être pas complètement chargée)
  • aucun : n'attendez pas le chargement de la page (utile pour les pages dynamiques)

Pour limiter l'attente inutile, définissez la pageLoadStrategy sur « impatient » ou "aucun":

Firefox:

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().FIREFOX
caps["pageLoadStrategy"] = "eager"
driver = webdriver.Firefox(desired_capabilities=caps, executable_path='path/to/geckodriver.exe')

Chrome:

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "eager"
driver = webdriver.Chrome(desired_capabilities=caps, executable_path='path/to/chromedriver.exe')

Remarque : Bien que « impatient » soit recommandé, il est toujours en cours de développement dans ChromeDriver. Reportez-vous à la discussion dans la solution de contournement de la stratégie de chargement de page « Eager » pour Chromedriver Selenium en Python » pour plus de détails.

En configurant pageLoadStrategy, vous pouvez empêcher Selenium d'attendre la fin des scripts à chargement lent, améliorant ainsi considérablement l'exécution. vitesse de vos scripts dans différentes implémentations de 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