Maison >développement back-end >Tutoriel Python >Comment puis-je 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.
Pour faire défiler jusqu'à une hauteur spécifique sur la page, utilisez la syntaxe suivante :
driver.execute_script("window.scrollTo(0, Y)")
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)")
Pour faites défiler jusqu'en bas de la page, exécutez le code suivant :
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
Cette commande garantit que vous atteignez la fin de la page, quel que soit son contenu réel hauteur.
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
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)
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!