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

Comment puis-je faire défiler des pages Web à l'aide de Selenium WebDriver en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-07 18:33:15189parcourir

How Can I Scroll Web Pages Using Selenium WebDriver in Python?

Défilement de pages Web avec Selenium Webdriver en Python

Lors de l'accès à des pages Web avec du contenu chargé dynamiquement, telles que les listes d'amis Facebook, le défilement est souvent nécessaire pour récupérer toutes les données disponibles. Selenium Webdriver fournit une gamme de méthodes pour activer le défilement en Python.

Solution 1 : Distance définie par défilement explicite

Pour faire défiler jusqu'à une position verticale spécifique, utilisez la syntaxe suivante :

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

Remplacez Y par la hauteur de défilement souhaitée, généralement 1080 pour une Full HD moniteur.

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

Pour faire défiler vers le bas de la page :

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

Solution 3 : Pages défilantes avec chargement infini

Pour les plateformes de médias sociaux comme Facebook avec infini défilement :

SCROLL_PAUSE_TIME = 0.5

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

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

    # Pause to allow loading
    time.sleep(SCROLL_PAUSE_TIME)

    # Check if scroll height has changed
    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height

Solution 4 : Utiliser les raccourcis clavier

Identifier un élément et appliquer ce qui suit :

label.sendKeys(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