Faites défiler un site Web à l'aide de Python Selenium
Parfois, nous pouvons vouloir automatiser des tâches dans un navigateur, comme le défilement sur un site Web. Python dispose d’un puissant outil d’automatisation Web appelé Selenium.
Il prend le contrôle du navigateur Web et nous permet d’effectuer automatiquement des actions spécifiques. Nous pouvons écrire un script qui défile automatiquement horizontalement et verticalement sur un site Web.
Installer Selenium et Chrome WebDriver
Pour installer Selenium, nous utilisons la commande suivante.
#Python 3.x
pip install selenium
ChromeDriver est un autre exécutable que Selenium WebDriver utilise pour interagir avec Chrome. Si nous voulons automatiser les tâches sur le navigateur Web Chrome, nous devons également installer ChromeDriver.
Selon la version du navigateur Chrome, nous devons sélectionner un pilote compatible pour celui-ci. Voici les étapes pour installer et configurer le pilote Chrome :
- Cliquez sur ce lien. Téléchargez le pilote Chrome en fonction de la version de votre navigateur Chrome et du type de système d’exploitation.
- Si vous souhaitez trouver la version de votre navigateur Chrome, cliquez sur les trois points dans le coin supérieur droit de Chrome, cliquez sur Aide et sélectionnez À propos de Google Chrome. Vous pouvez voir la version de Chrome dans la section à propos.
- Extrayez le fichier zip et exécutez le pilote Chrome.
Faites défiler un site Web à l’aide de Python Selenium
Syntaxe:
driver.execute_script("window.scrollBy(x_pixels, y_pixels);")
Ici, les x_pixels
indiquent le nombre de pixels à faire défiler horizontalement (sur l’axe des x), et les y_pixels
désignent le nombre de pixels à faire défiler verticalement (sur l’axe des y). Dans ce guide, on scrolle uniquement verticalement pour que les x_pixels
soient à 0.
Faites défiler vers le bas par pixels spécifiés
Nous avons créé l’instance WebDriver dans le code suivant et spécifié le chemin d’accès au pilote Chrome. Ensuite, nous avons défini l’URL du site Web cible sur l’instance du pilote à l’aide de la méthode get()
.
Il ouvrira le site Web cible dans le navigateur souhaité. Nous avons maximisé la fenêtre de Chrome pour une meilleure image en utilisant la méthode maximize_window()
.
Selenium a la particularité d’exécuter des commandes JavaScript via la méthode execute_script()
. Nous avons automatisé le défilement vers le bas de 1000 pixels en utilisant la méthode window.scrollBy()
et avons passé cette commande à l’exécuteur JavaScript.
Le site Web défilera automatiquement verticalement de 1000 pixels.
Exemple de code :
# Python 3.x
from selenium import webdriver
driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.get("https://www.verywellmind.com/what-is-personality-testing-2795420")
driver.maximize_window()
driver.execute_script("window.scrollBy(0, 1000);")
Production:
Faites défiler vers le bas du site Web
Supposons que nous voulions faire défiler jusqu’au bas de la page. Le document.body.scrollHeight
donnera la hauteur totale de la page en pixels.
Nous spécifierons cette hauteur comme le nombre de pixels à faire défiler vers le bas.
Exemple de code :
# Python 3.x
from selenium import webdriver
driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.get("https://www.verywellmind.com/what-is-personality-testing-2795420")
driver.maximize_window()
driver.execute_script("window.scrollBy(0, document.body.scrollHeight);")
Production:
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn