Se connecter à un site Web à l'aide de Selenium Python
Parfois, nous pouvons vouloir automatiser des tâches dans un navigateur, comme une connexion à un site Web. Cela peut être utile dans les scénarios où nous voulons extraire des données de sites Web nécessitant une connexion.
Python propose de nombreux packages pour l’automatisation Web, tels que Selenium.
Se connecter à un site Web à l’aide de Selenium Python
Selenium est un puissant outil d’automatisation et de test pour les navigateurs Web. Nous écrivons des scripts qui prennent le contrôle du navigateur Web et effectuent des actions spécifiques.
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.
En fonction de 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.
Code pour la connexion automatisée à un site Web utilisant Selenium Python
Nous avons créé l’instance WebDriver dans le code suivant et spécifié le chemin d’accès au pilote Chrome. Ensuite, nous avons spécifié l'URL
du site Web cible à l’instance du pilote. Il ouvrira le site Web cible dans le navigateur souhaité.
Nous avons stocké l’e-mail et le mot de passe factices dans les variables que nous utiliserons plus tard pour nous connecter. Pour automatiser la saisie de l’e-mail et du mot de passe et le clic sur le bouton de connexion, nous devons trouver le nom/id
(lequel est disponible) de ceux éléments Web.
Nous devons ouvrir le site Web souhaité dans le navigateur, cliquer avec le bouton droit sur l’élément et cliquer sur Inspecter l’élément. Ici, nous pouvons voir le code HTML, y compris le nom de l’élément.
Nous allons copier le nom de l’élément et le passer en argument à la méthode find_element_by_name()
avec l’instance du pilote. Nous allons répéter le processus pour les deux éléments restants.
Cette méthode retournera l’élément web, que nous stockerons dans des variables. Nous automatiserons la saisie de l’e-mail et du mot de passe dans leurs champs respectifs en utilisant la méthode sendkeys()
.
Nous définissons une minuterie de deux secondes après avoir rempli les champs afin que l’utilisateur puisse observer ce qui se passe à travers un retard dans le processus. Enfin, le bouton de connexion cliquera automatiquement via la méthode click()
.
Exemple de code :
# Python 3.x
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.maximize_window()
driver.get("https://discpersonalitytesting.com/login-here/")
email = "myemail@email.com"
password = "mypassword1@23"
email_textfield = driver.find_element_by_name("email")
password_textfield = driver.find_element_by_name("password")
login_button = driver.find_element_by_name("LoginDAPLoginForm")
email_textfield.send_keys(email)
time.sleep(2)
password_textfield.send_keys(password)
time.sleep(5)
login_button.click()
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