paint-brush
Automatisation Web avec Python et Seleniumpar@terieyenike
30,908 lectures
30,908 lectures

Automatisation Web avec Python et Selenium

par Teri Eyenike5m2022/09/10
Read on Terminal Reader
Read this story w/o Javascript

Trop long; Pour lire

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. 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 nous permet de naviguer ou d'utiliser un navigateur sans intervention humaine et d'automatiser des processus tels que 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.
featured image - Automatisation Web avec Python et Selenium
Teri Eyenike HackerNoon profile picture

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.

À quoi sert le sélénium ?

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.

Commencer

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.

Installation

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

Automatiser une page Web

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 :

  • Importer la fonction webdriver depuis le module selenium
  • La
     selenium.webdriver
    le module fournit toutes les implémentations de WebDriver, et l'objet Service sert à gérer le pilote du navigateur
  • La
     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.
  • La classe Keys simule les actions de la pression des touches du clavier comme le RETURN / Enter, F1, Alt, etc.
  • Attribuez le fichier exec chromedriver à une variable
  • Appelez le chemin exécutable du pilote vers l'objet de service
  • Ensuite, il faut instancier le navigateur Chrome avec le
     webdriver.Chrome()
    avec l'argument de service
  • Définir l'url de la page web à vérifier
  • En utilisant le
     .get()
    la méthode naviguera vers la page donnée par l'url

Sur 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 .

Simulation d'une action de clic

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.

Rechercher une page Web

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 :

Conclusion

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.

Apprendre encore plus