Tutoriels de Pythonia
Guides, IA, tutos et newsletter pour devenir une bête en programmation

Mis à jour le April 5, 2024, 10:40 a.m.
Le web scraping est une technique permettant l'extraction de données depuis des sites web. Selenium est un outil incontournable pour tous ceux qui souhaitent automatiser leurs interactions avec le web.
Un des pièges les plus courants lorsqu'on se lance dans l'utilisation de Selenium est l'installation du ChromeDriver et sa compatibilité avec la version de Chrome installée sur votre machine. Ce détail technique, bien que souvent sous-estimé, est crucial pour garantir le bon fonctionnement de vos scripts d'automatisation. En effet, une incompatibilité entre ces deux peut entraîner des erreurs frustrantes et des blocages inattendus dans vos projets d'automatisation.
Dans ce tutoriel, nous avons choisi d'utiliser Chrome comme navigateur pour nos exemples d'automatisation. La raison de ce choix est double : d'une part, Chrome est le navigateur le plus utilisé au monde, ce qui rend nos exemples pertinents pour un large public. D'autre part, Chrome offre une excellente intégration avec Selenium, facilitant ainsi le processus d'apprentissage et de mise en œuvre de l'automatisation web.
Nous aborderons les étapes détaillées pour installer correctement le ChromeDriver, en veillant particulièrement à sa compatibilité avec la version de Chrome sur votre système. Ce point est essentiel pour éviter les pièges communs et assurer une expérience d'automatisation fluide et sans accroc. On sera ici sous ubuntu.
Installation du navigateur Chrome
Installation de Selenium
Téléchargement de ChromeDriver
Ouvrir Google Chrome avec Selenium
Intéragir avec la page
Conclusion
Il nous faut d'abord télécharger google chrome. Ouvrez un terminal et entrez la commande suivante:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
Cette commande télécharge le paquet .deb de la dernière version stable de Google Chrome directement depuis le site officiel. Vous pouvez aussi regarder les derniere versions disponibles ici:
https://googlechromelabs.github.io/chrome-for-testing/#stable
Une fois le téléchargement terminé, installez Google Chrome en utilisant dpkg.
sudo dpkg -i google-chrome-stable_current_amd64.deb
ou si dpkg pose probleme:
sudo apt-get install -f
On vérifie que tout est ok. Lancez la commande suivante:
google-chrome --version
On peut maintenant passer à l'installation du ChromeDriver. Ce dernier doit être adapté à la version de chrome, à savoir la 123.0.6312.58
Note: pour les codeurs à l'esprit aventureux, voici les drivers pour d'autres navigateurs:
Vous pouvez télécharger le pilote de Chrome à partir du lien suivant : https://sites.google.com/a/chromium.org/chromedriver/downloads
Vous pouvez télécharger le pilote de Firefox à partir du lien suivant : https://github.com/mozilla/geckodriver/releases
Pour utiliser Safari, vous devez d'abord activer le mode développeur et autoriser le contrôle à distance. Vous pouvez ensuite télécharger le pilote à partir du lien suivant : https://webkit.org/blog/6900/webdriver-support-in-safari-10/
Comment installer notre chromedriver? Pour trouver la bonne version je vais ici: https://googlechromelabs.github.io/chrome-for-testing/latest-versions-per-milestone-with-downloads.json
Pour notre tutoriel, il faut prendre celui-ci:
On le télécharge:
wget https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.105/linux64/chromedriver-linux64.zip
On l'extrait (unzip):
unzip chromedriver-linux64.zip
On le déplace dans le PATH
sudo mv chromedriver-linux64 /usr/local/bin/
On vérifie que tout est ok:
On s'assure que chromedriver un executable:
sudo chmod +x /usr/local/bin/chromedriver
Super! Maintenant on peut commencer à s'amuser
La première étape consiste à installer la bibliothèque. Vous pouvez l'installer en utilisant pip
, le gestionnaire de paquets Python. N'oubliez pas de le mettre dans un environnement virtuel. Ouvrez votre terminal et tapez la commande suivante :
pip install selenium
Importation des modules
Après l'installation de Selenium, vous pouvez importer les modules nécessaires dans votre script Python :
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
import time
La première étape consiste à initialiser un navigateur en utilisant le pilote du navigateur :
url="https://www.google.fr"
driver_path = Service('/usr/local/bin/chromedriver-linux64/chromedriver')
# Remplacer 'webdriver.Chrome' par le navigateur de votre choix si nécessaire
driver = webdriver.Chrome(service=driver_path)
# Ouvrir Amazon.fr
driver.get(url)
time.sleep(2)
print("super tout roule")
# Laisser la page ouverte pendant un moment pour voir le résultat
time.sleep(5)
# Fermer le navigateur
driver.quit()
print("Le navigateur s'est fermé correctement")
Résultat:
Maintenant ça serait sympas de pouvoir écrire quelque chose dans la barre de recherche non?
Vous pouvez ajouter ce block de code à la suite du script.
try:
# Trouver la barre de recherche
search_box = driver.find_element("name", "q")
# Entrer du texte dans la barre de recherche
search_box.send_keys('OpenAI')
# Soumettre la recherche en envoyant la touche Entrée
search_box.send_keys(Keys.RETURN)
# Attendre un peu pour voir les résultats de la recherche
time.sleep(5)
print("La recherche a été effectuée avec succès.")
except Exception as e:
print("Une erreur est survenue lors de la recherche : ", e)
Voilà le résultat:
Selenium est une bibliothèque Python puissante pour l'automatisation de navigateurs Web. Avec Selenium, vous pouvez facilement extraire des données à partir de sites Web et automatiser des tâches complexes. Ce tutoriel a parcouru les étapes cruciales pour bien démarrer avec Selenium, en mettant l'accent sur l'installation correcte du ChromeDriver et en choisissant Chrome comme navigateur pour nos exemples. Nous avons vu comment cette préparation initiale peut éviter bien des problèmes.
L'utilisation de Selenium avec Chrome offre une flexibilité et une puissance inégalées pour interagir avec le web de manière programmée. En suivant les conseils et les pratiques recommandées présentées dans ce tutoriel, vous êtes désormais mieux équipé pour explorer plus avant les capacités de Selenium et intégrer ces techniques d'automatisation dans vos propres projets. L'aventure ne fait que commencer, et le potentiel d'innovation et d'optimisation que Selenium apporte à vos outils numériques est vaste. Inscrivez vous à notre newsletter pour continuer à expérimenter, à apprendre, et surtout, à automatiser (et à pouvoir aller beaucoup plus loin)!
https://chromedriver.chromium.org/downloads
https://selenium-python.readthedocs.io/
Aucun commentaire pour cet article.