Maison > développement back-end > Tutoriel Python > Comment puis-je faire défiler une page Web à l'aide de Selenium Webdriver en Python ?

Comment puis-je faire défiler une page Web à l'aide de Selenium Webdriver en Python ?

Barbara Streisand
Libérer: 2024-12-09 11:20:12
original
366 Les gens l'ont consulté

How Can I Scroll a Web Page Using Selenium Webdriver in Python?

Faire défiler une page Web à l'aide de Selenium Webdriver en Python

Dans le domaine de l'automatisation Web, Selenium Webdriver se présente comme un outil de confiance pour naviguer et interagir avec les pages Web. L’un des défis courants rencontrés lors de l’automatisation des tâches consiste à faire défiler une page Web pour accéder à du contenu supplémentaire. Cet article examine les différentes approches de défilement vers le bas à l'aide de Selenium Webdriver en Python.

Approche 1 : spécification d'une hauteur spécifique

Pour faire défiler jusqu'à une hauteur spécifique sur la page, utilisez la syntaxe suivante :

driver.execute_script("window.scrollTo(0, Y)")
Copier après la connexion

où Y représente la hauteur souhaitée en pixels. Par exemple, pour faire défiler jusqu'à une hauteur de 1 080 pixels (la hauteur d'un moniteur Full HD), vous utiliseriez :

driver.execute_script("window.scrollTo(0, 1080)")
Copier après la connexion

Approche 2 : Faire défiler vers le bas de la page

Pour faites défiler jusqu'en bas de la page, exécutez le code suivant :

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
Copier après la connexion

Cette commande garantit que vous atteignez la fin de la page, quel que soit son contenu réel hauteur.

Approche 3 : Défilement infini

Pour les pages Web qui utilisent le défilement infini (par exemple, les flux de médias sociaux), vous devez mettre en œuvre un mécanisme de défilement personnalisé :

SCROLL_PAUSE_TIME = 0.5

# Get the initial scroll height
last_height = driver.execute_script("return document.body.scrollHeight")

while True:
    # Scroll down to the bottom
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

    # Allow time for the page to load
    time.sleep(SCROLL_PAUSE_TIME)

    # Calculate the new scroll height and compare it with the previous one
    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height
Copier après la connexion

Méthode supplémentaire : sélection d'un élément et défilement

Si vous préférez, vous pouvez sélectionner un élément sur la page et faire défiler jusqu'à directement :

label = driver.find_element_by_css_selector("body")
label.send_keys(Keys.PAGE_DOWN)
Copier après la connexion

En sélectionnant un élément et en envoyant la commande Keys.PAGE_DOWN, la page défilera d'une page.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal