Pourquoi avez-vous besoin de la commande Find Element / s?
L'interaction avec une page Web nécessite qu'un utilisateur localise l'élément Web. La commande Rechercher un élément est utilisée pour identifier de manière unique un (un) élément Web dans la page Web. Alors que la commande Rechercher des éléments est utilisée pour identifier de manière unique la liste des éléments Web dans la page Web. Il existe plusieurs façons d'identifier de manière unique un élément Web dans la page Web, comme l'ID, le nom, le nom de la classe, le texte du lien, le texte du lien partiel, le nom de la balise et XPATH.
Syntaxe de la commande FindElement:
La commande Selenium Find Element prend l'objet By comme paramètre et renvoie un objet de type list WebElement dans Selenium. Par objet à son tour peut être utilisé avec diverses stratégies de localisation telles que rechercher un élément par ID Selenium, Nom, Nom de classe, XPATH, etc. Voici la syntaxe de la commande FindElement dans le pilote Web Selenium.
WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));
La stratégie de localisation peut être l'une des valeurs suivantes.
- identifiant
- Élément de recherche de sélénium par nom
- Nom du cours
- Nom de la balise
- Texte du lien
- Texte de lien partiel
- XPATH
La valeur du localisateur est la valeur unique à l'aide de laquelle un élément Web peut être identifié. Il est de la responsabilité des développeurs et des testeurs de s'assurer que les éléments Web sont identifiables de manière unique à l'aide de certaines propriétés telles que l'ID ou le nom.
Exemple:
WebElement loginLink = driver.findElement (By.linkText ("Login"));
Syntaxe de la commande FindElements:
La commande FindElements in Selenium prend l'objet By comme paramètre et renvoie une liste d'éléments Web. Il renvoie une liste vide s'il n'y a aucun élément trouvé en utilisant la stratégie de localisateur et la valeur de localisateur données. Vous trouverez ci-dessous la syntaxe de la commande find elements.
ListelementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Exemple:
ListlistOfElements = driver.findElements (By.xpath ("// div"));
Rechercher un élément Vs rechercher des éléments
Vous trouverez ci-dessous les principales différences entre les commandes de recherche d'élément et de recherche d'éléments.
![](https://cdn.css-code.org/1512027/find_element_and_findelements_by_xpath_in_selenium_webdriver.png.webp)
Trouver un élément | Rechercher des éléments |
---|---|
Renvoie le premier élément le plus Web s'il y a plusieurs éléments Web trouvés avec le même localisateur | Renvoie une liste d'éléments Web |
Lève l'exception NoSuchElementException s'il n'y a aucun élément correspondant à la stratégie de localisateur | Renvoie une liste vide s'il n'y a aucun élément Web correspondant à la stratégie de localisateur |
Find element by XPath ne trouvera qu'un seul élément Web | Il trouvera une collection d'éléments qui correspondent à la stratégie du localisateur. |
N'est pas applicable | Chaque élément Web est indexé avec un nombre commençant à 0 comme un tableau |
Exemple: Comment utiliser la commande Rechercher un élément
L'application suivante est utilisée à des fins de démonstration
http://demo.guru99.com/test/ajax.html
Scénario:
1. Ouvrez l'AUT
2. Recherchez et cliquez sur le bouton radio
package com.sample.stepdefinitions;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] args) {// TODO Stub de méthode généré automatiquementSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Pilote WebDriver = nouveau ChromeDriver ();driver.manage (). window (). maximiser ();driver.get ("http://demo.guru99.com/test/ajax.html");// Trouvez le bouton radio "Non" en utilisant son identifiant et cliquez dessusdriver.findElement (By.id ("non")). click ();// Cliquez sur le bouton Vérifierdriver.findElement (By.id ("buttoncheck")). click ();}}
Exemple: Comment utiliser la commande Rechercher des éléments
Scénario:
1. Ouvrez l'URL de l'application en cours de test
2. Recherchez le texte des boutons radio et imprimez-le sur la console de sortie
package com.sample.stepdefinitions;import java.util.List;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Pilote WebDriver = nouveau ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Listelements = driver.findElements (By.name ("name"));System.out.println ("Nombre d'éléments: + elements.size ());pour (int i = 0; i Résumé:
- La commande Rechercher un élément renvoie l'élément Web qui correspond le plus au premier élément de la page Web.
- La commande Rechercher des éléments renvoie une liste d'éléments Web qui correspondent aux critères.
- La commande Find Element by XPath in Selenium lance NoSuchElementException si elle ne trouve pas l'élément correspondant aux critères.
- La commande Rechercher des éléments renvoie une liste vide dans Selenium s'il n'y a aucun élément correspondant aux critères