Maison >développement back-end >Tutoriel Python >Comment faire défiler des pages Web avec Selenium WebDriver en Python ?

Comment faire défiler des pages Web avec Selenium WebDriver en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-13 16:00:24772parcourir

How to Scroll Web Pages with Selenium WebDriver in Python?

Faire défiler une page Web avec Selenium WebDriver en Python

Dans Selenium WebDriver, la possibilité de faire défiler une page Web devient essentielle lors d'une navigation dynamique contenu ou extraire des données de listes étendues. Pour obtenir cette fonctionnalité de défilement en Python, plusieurs approches peuvent être utilisées.

Méthode 1 : défilement explicite

Pour faire défiler jusqu'à une position spécifique sur la page, utilisez le script execute_script () méthode :

driver.execute_script("window.scrollTo(0, Y)")

où Y représente la hauteur à faire défiler à.

Méthode 2 : Faire défiler vers le bas

Pour faire défiler vers le bas de la page, exécutez le script suivant :

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

Méthode 3 : faire défiler les pages à chargement infini

Pour les pages à chargement infini, telles que flux de médias sociaux, utilisez cette boucle jusqu'à ce qu'aucun autre défilement ne soit possible :

SCROLL_PAUSE_TIME = 0.5

last_height = driver.execute_script("return document.body.scrollHeight")

while True:
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(SCROLL_PAUSE_TIME)
    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height

Méthode 4 : à l'aide des touches du clavier

Alternativement, pour faire défiler une page vers le bas, simulez appuyez sur la touche Page suivante :

label.send_keys(Keys.PAGE_DOWN)

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