Je suis nouveau dans les tests de sélénium. Je veux obtenir le nom de la classe css en utilisant Selenium. J'utilise Eclipse et Java pour le développement.
<table >
<tr class="odd"><td>Odd row</td></tr>
<tr class="even"><td>Even row</td></tr>
<tr class="odd"><td>Odd row2</td></tr>
<tr class="even"><td>Even row2</td></tr>
</table>
Existe-t-il un moyen d'obtenir le nom de classe «impair» ou «pair» à l'aide de sélénium? je
Oui, vous pouvez utiliser la fonction getAttribute(attributeLocator)
pour répondre à vos besoins.
Selenium.getAttribute(//xpath@class);
Spécifiez le Xpath de l'élément pour lequel vous devez connaître la classe de.
Merci.
A partir de WebElement
, vous pouvez utiliser la méthode getAttribute
comme ceci:
element.getAttribute("class")
Dans le contexte de l'extrait de code, supposons que vous souhaitiez obtenir la classe "impair" pour la première ligne de la table.
Vous pouvez suivre les étapes ci-dessous:
(Remarque: - En supposant qu'il y ait une table dans votre page Web)
1- Obtenir l’élément en premier:
WebElement ele = driver.findElement (By.xpath ("// table/tr [1]"));Le code ci-dessus utilise xpath pour obtenir l’élément, c’est-à-dire la première ligne de la table.
2- Ensuite, obtenez l'attribut "class" de l'élément en utilisant la méthode "getAttribute":
String nom_classe = ele.getAttribute ("classe");Le code ci-dessus va chercher le nom "class" de l'élément associé et l'assigne à la variable String "nom_classe" pour une utilisation ultérieure.
De même, pour obtenir la classe "paire", qui est l'attribut de la quatrième ligne de la table, vous pouvez utiliser le code ci-dessous:
ele = driver.findElement (By.xpath ("// table/tr [4]")); ;__. nom_classe = ele.getAttribute ("class");
Si CSS est votre exigence, et en l'absence d'attributs d'élément supplémentaires/différenciants, essayez ce qui suit (dans l'exemple, j'ai utilisé des assertions de texte simples):
assertEquals(Selenium.getText("css=tr.odd > td"), "Odd row");
assertEquals(Selenium.getText("css=tr.even > td"), "Even row");
assertEquals(Selenium.getText("//tr[3]/td"), "Odd row2");
assertEquals(Selenium.getText("//tr[4]/td"), "Even row2");
Obtenir le nom de la classe CSS en utilisant Selenium en utilisant C #:
string _className;
IWebElement _ele = _driver.FindElement(By.Xpath("Xpath of Element"));
_className = _ele.GetAttribute("AttributeName Here");