Méthodes d'élément Web dans Selenium Python
Selenium est un puissant outil d’automatisation et de test pour les navigateurs Web. Nous écrivons des scripts en utilisant Selenium, qui contrôle le navigateur Web et effectue 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.
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.
Méthodes d’élément Web dans Selenium Python
Un élément Web est un élément HTML sur le site Web. Il peut s’agir d’un champ de texte, d’un bouton, d’une barre de défilement, etc.
C’est quelque chose avec lequel nous voulons interagir, comme effectuer un clic, remplir un champ de texte, etc. Une fois que nous obtenons un élément Web en Python, nous pouvons appliquer de nombreuses méthodes à cet élément fourni par Selenium.
Par exemple, nous avons l’élément Web suivant en HTML.
<input type="text" name="email" id="email_id" />
Nous utilisons l’extrait de code suivant pour localiser un élément Web à l’aide de son name
.
element_tf = driver.find_element_by_name("email")
Ou, si nous le localisons par son id
, nous utiliserons cette méthode.
element_tf = driver.find_element_by_id("email_id")
Après avoir obtenu l’élément, nous pouvons lui appliquer de nombreuses méthodes. Certaines des méthodes largement utilisées et leur description sont les suivantes.
Méthode d’élément | La description |
---|---|
click() |
Clique sur n’importe quel élément. |
clear() |
Efface tout texte d’un champ de texte. |
send_keys() |
Entre le texte dans les champs de texte. |
text |
Obtient le texte de l’élément actuel. |
screenshot() |
Prend une capture d’écran de l’élément actuel et l’enregistre en tant que fichier PNG. |
submit() |
Soumettez les données du formulaire une fois que nous avons fini de saisir les détails. |
location |
Obtient l’emplacement de l’élément actuel. |
size |
Renvoie la taille de l’élément. |
tag_name |
Renvoie le nom de la balise de l’élément courant. |
is_selected() |
Renvoie une valeur booléenne indiquant si l’élément est sélectionné ou non. |
is_displayed() |
Renvoie une valeur booléenne indiquant si l’élément est visible à l’écran ou non par l’utilisateur |
get_property() |
Renvoie la propriété de l’élément comme la propriété text_length du texte d’ancrage. |
get_attribute() |
Renvoie l’attribut de l’élément, tel que l’attribut href de la balise d’ancrage. |
Code démontrant les méthodes des éléments Web
Nous avons utilisé certaines des méthodes ci-dessus dans le code suivant. Nous obtenons les champs de texte email
et password
et le bouton de connexion par leurs noms en utilisant la méthode find_view_by_name()
.
Nous avons entré l’e-mail et le mot de passe factices à l’aide de la méthode send_keys()
et avons effacé le champ password
à l’aide de la méthode clear()
. Nous avons extrait le texte, l’emplacement et le nom de la balise du bouton de connexion à l’aide des méthodes text
, location
et tag_name
.
Nous avons vérifié si le bouton de connexion est sélectionné et affiché à l’aide des méthodes is_selected()
et is_displayed()
. Enfin, nous avons cliqué sur le bouton de connexion en utilisant la méthode click()
.
# 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(3)
password_textfield.clear()
password_textfield.send_keys(password)
time.sleep(2)
print(login_button.text)
print(login_button.location)
print(login_button.is_selected())
print(login_button.is_displayed())
print(login_button.tag_name)
login_button.click()
Production:
Login
{'x': 251, 'y': 499}
False
True
button
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