L'automatisation Web est l'un des meilleurs moyens pour les entreprises de tester un produit en développement, en particulier les fonctionnalités de l'application, telles que le clic, le défilement et d'autres actions.
Essentiellement, l'automatisation Web consiste à imiter l'action humaine, car il est essentiel de s'assurer que le logiciel fonctionne sur tous les types d'utilisateurs d'appareils.
Dans cet article, nous apprendrons à utiliser Selenium comme outil d'automatisation pour tester un site Web avec Python et automatiser l'ensemble du processus sans utiliser de souris ou de clavier sur le navigateur. Selenium ne fonctionne pas avec Python seul mais avec de nombreux autres langages de programmation.
Selenium nous permet de parcourir ou d'utiliser un navigateur sans intervention humaine et d'automatiser les processus par le biais de code, comme la saisie d'une entrée utilisateur et l'interaction avec le site Web. Par exemple, l'automatisation des soumissions de formulaires avec Selenium est possible. Le sélénium fait tout tout seul sans un seul clic d'un humain.
Avant que Selenium puisse effectuer une action via le code, nous avons besoin des packages et des outils pour pouvoir exécuter l'automatisation du navigateur et la rendre transparente.
Dans cette section, nous installons le package Selenium et le fichier exécutable WebDriver. Tout d'abord, vérifiez la version du navigateur Chrome afin qu'elle soit équivalente à la même version du fichier exec WebDriver.
Les éléments suivants doivent être installés sur notre machine locale :
Le navigateur Chrome. Téléchargez-le ici
Téléchargez la dernière version stable de ChromeDriver . Sur la page Web de ChromeDriver, vérifiez que la version de Chrome correspond à la version de ChromeDriver
Maintenant, exécutez cette commande pour installer Selenium dans votre terminal :
pip install selenium
Pour commencer, créez un nouveau dossier contenant le fichier et les fichiers exec ChromeDriver téléchargés. Selenium nécessite que le pilote s'interface avec le navigateur choisi, qui dans ce tutoriel, nous utilisons le navigateur Chrome.
Il est essentiel de placer le ChromeDriver dans le même répertoire que le fichier Python.
Le répertoire du projet devrait ressembler à ceci :
Une autre façon d'utiliser le ChromeDriver dans ce projet est de trouver l'emplacement du chemin du fichier et de le copier, ce qui devrait ressembler à ceci :
Utilisateurs de MacBook :
/Users/<nom d'utilisateur de l'ordinateur>/Desktop/chromedriver
Utilisateurs Windows :
C:\Users\<nom d'utilisateur de l'ordinateur\Desktop\chromdriver
Le WebDriver est le pont qui relie le code Selenium pour fonctionner avec le navigateur Chrome. Le navigateur Chrome fournit le pont. Sans cela, l'automatisation ne sera pas possible.
Ensuite, copions et collons le code suivant dans le
automation.py
dossier: # automation.py
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys chrome_driver_path = './chromedriver'
service = Service(chrome_drive_path) driver = webdriver.Chrome(service=service) url = "https://en.wikipedia.org/wiki/Main_Page"
driver.get(url) article_count = driver.find_element(By.CSS_SELECTOR, "#articlecount a" ) print (article_count.text) drive.close()
Ce qui suit se produit dans l'extrait de code ci-dessus car nous utiliserons Selenium pour naviguer sur Wikipédia :
selenium.webdriver
le module fournit toutes les implémentations de WebDriver, et l'objet Service sert à gérer le pilote du navigateur By
la classe est utilisée pour localiser des éléments dans le document d'une page Web en utilisant ses classes CSS, ses identifiants, etc. webdriver.Chrome()
avec l'argument de service .get()
la méthode naviguera vers la page donnée par l'urlSur la page Wikipedia, ouvrez l'élément inspect pour accéder aux éléments que nous utiliserons pour obtenir les détails de la page pour l'automatisation.
Passons maintenant à la tâche de trouver le nombre d'articles. WebDriver nous offre un moyen de le faire en ciblant l'élément à l'aide de la méthode find_element et en utilisant la
By.CSS_SELECTOR
comme premier paramètre avec le nom du sélecteur, #articlecount a.
Avant d'exécuter le programme Python, le script a la méthode,
driver.close()
, qui ferme la fenêtre du navigateur après l'exécution du test.Exécutez le programme avec la commande :
python automation.py
Le résultat du terminal devrait afficher le nombre d'articles, qui indique le chiffre exact sur la page Web, 6 545 457 .
D'après ce que nous avons fait jusqu'à présent, il est évident que Selenium navigue sur un site Web sans l'utilisation ni le clic d'une souris.
Maintenant, simulons une action où le navigateur réagit à un clic sur un lien sur la page.
Mettre à jour le
automation.py
avec ces lignes de code : # automation.py # import modules contact_us = driver.find_element(By.LINK_TEXT, "Contact us" ) contact_us.click()
Avec cet extrait de code, nous trouvons l'élément du texte du lien, "Contactez-nous" avec le
By.LINK_TEXT
. Après avoir localisé les éléments, fixez les contact_us
à une action avec .click()
méthode.Encore une fois, nous exécutons la commande :
python automation.py
La commande ci-dessus donne le résultat de la page contactez-nous.
Il y a tellement de cas d'utilisation avec Selenium. La recherche d'une page Web peut être réalisée avec l'automatisation, qui vous donne le résultat pour un mot de recherche.
Toujours dans le même fichier, automation.py, mettez à jour le fichier avec ce code :
# automation.py search = driver.find_element(By.NAME, "search" ) search.send_keys( "React" , Keys.ENTER)
Le code ci-dessus fait une chose similaire au précédent en utilisant le
find_element
méthode avec l'attribut name de l'entrée, search.Également
send_keys
simulez en appuyant sur la touche ENTER, en recherchant le mot-clé React .Le résultat de la page devrait ressembler à ceci :
Cet article est un aperçu de la façon d'utiliser Selenium en Python pour automatiser le Web, en particulier pour les développeurs professionnels qui veulent savoir s'il y a des erreurs dans le code et comment les corriger.
Les possibilités d'utilisation de Selenium avec Python pour l'automatisation Web sont infinies. Certains cas d'utilisation incluent remplir un formulaire en ligne, postuler à des emplois LinkedIn, jouer à un jeu de clicker, etc. Connaissez-vous d'autres cas d'utilisation pour l'utilisation de Selenium ?
Veuillez partager votre cas d'utilisation préféré dans les commentaires ci-dessous.