web-dev-qa-db-fra.com

Quand et comment puis-je localiser un élément par Tagname à l'aide du WebDriver Selenium? S'il vous plaît expliquer avec un exemple

J'ai utilisé la plupart des localisateurs d'élément lors des tests avec sélénium, mais le localisateur 'TagName' utilisé très peu fréquemment. S'il vous plaît donner et exemple.

9
Santosh

Supposons maintenant que les éléments Web de logiciel n’ont pas d’ID ou de nom de classe, alors comment localiser cet élément dans Selenium WebDriver? La réponse est qu'il existe de nombreuses alternatives de localisateurs d’éléments Selenium WebDriver et que l’une d’elles est la recherche d’élément par nom de balise.

Localisation des éléments par nom de balise n’est pas très populaire car, dans la plupart des cas, nous aurons d’autres variantes de localisateurs d’éléments. Mais oui, s'il n'y a pas d'alternative, vous pouvez utiliser le nom de balise DOM de l'élément pour localiser cet élément dans webdriver.

 enter image description here

Ici, vous pouvez sélectionner la variable comme localisateur comme:

//Locating element by tagName and store its text in variable dropdown.
 String dropdown = driver.findElement(By.tagName("select")).getText();
11
Shah

nous utilisons le nom actuel de la balise comme pour ancre et pour table et entrée pour. Cela permet d’obtenir tous les éléments avec un nom de tag donné ..__ Exemple: pour sélectionner le premier élément d’une entrée donnée

var dialog = driver.FindElement(By.ClassName("ladialog"));
var save = dialog.FindElements(By.TagName("input"))[0];
save.Click();
3
Dawit Reda

Grâce à la deprecation de By.tagName , vous devriez utiliser By.css pour la réponse de @Shah ....

String dropdown = driver.findElement(By.css("select")).getText();
0
JGleason

Il est également important de noter que la stratégie de localisation tagName peut être utilisée pour obtenir ou extraire tous les liens d’une page Web et les imprimer sur la console. Essaye ça:

//GET ALL LINKS IN A WEBPAGE
List<WebElement> allLinks = driver.findElements(By.tagName("a"));
System.out.println("Links count is: "+allLinks.size());
for(WebElement link : allLinks)
System.out.println(link.getText());
0
user7123229