Obtenez de l'élément de cssSelector en Sélénium (Java)
<html>
<body>
<div id="login-box" class="form-box">
<form id="frmlogin" class="form" name="frmlogin" method="post">
<div class="body">
<div class="form-group">
<input id="email" class="form-control" type="text" maxlength="50" value="[email protected]" placeholder="Email" name="email">
<span class="red">Please provide a valid email address</span>
</div>
<div class="form-group">
<input class="form-control" type="password" maxlength="15" placeholder="Password" name="password">
<span class="red">Password must not be empty</span>
</div>
</div>
</form>
</div>
</body>
</html>
Ai besoin de "s'il vous Plaît fournir une adresse email valide" et "Mot de passe ne doit pas être vide" à l'aide de nth-child
dans cssSelector
.
J'ai essayé l'extrait de code ci-dessous:
//Cas 2
driver.findElement(By.name("email")).clear();
driver.findElement(By.name("email")).sendKeys("");
String a=driver.findElement(By.cssSelector("form#frmlogin div.form-group:nth-child(1)>span")).getText();
System.out.println(a);
if(a.contains("valid email address"))
{
System.out.println("Login test case2 Passed");
}
else
{
System.out.println("Login test case2 Failed");
}
Il en résulte NoSuchElementFound
.
La durée éléments sont le 2ème enfant de la
Merci Mark Rowlands. J'ai essayé avec ce déjà mais j'din pas obtenir la sortie
form-group
élément. Essayez d'utiliser .form-group>span:nth-child(2)
que votre sélecteur.Merci Mark Rowlands. J'ai essayé avec ce déjà mais j'din pas obtenir la sortie
OriginalL'auteur Sugan | 2014-12-02
Vous devez vous connecter pour publier un commentaire.
Vous pouvez l'utiliser par sélecteur d'élément
Si vous avez lu la question clairement, Sugan a déclaré que "la Chaîne a=pilote.findElement(Par.cssSelector(".formulaire-groupe>durée:nth-child(1)")).getText(); Il en résulte NoSuchElementFound.". J'ai exactement la réponse que.
Merci Hussain et Ayusman. Je din obtenir la sortie.
OriginalL'auteur Murtaza Khursheed Hussain
Essayer ces codes ci-dessous:
1 - Pour le retour de "s'il vous Plaît fournir une adresse email valide':
2 - Pour le retour de "Mot de passe ne doit pas être vide':
J'ai modifié le sélecteur css. Veuillez vérifier maintenant @Sugan
Il me jette invalide Sélecteur de org.openqa.le sélénium.InvalidSelectorException
Je pense qu'il y a un problème avec la façon dont vous la mettre en œuvre. Pouvez-vous veuillez inscrire le code correspondant dans votre question ? Aussi, en plus de l'extrait de code html sera utile aussi. Parce que quand je lance avec l'extrait de code et mon code, il fonctionne très bien et de retourner les résultats escomptés. @Sugan
J'ai donné le code et l'Extrait. Je ne sais pas si je suis absent quelque chose pourrait m'aider à m'en sortir
OriginalL'auteur Subh
Si vous n'avez pas à vous pouvez également utiliser XPath sélecteurs qui sont à mon avis plus facile à utiliser lorsque vous devez sélectionner le n-ième élément de quelque chose. Essayez celui-ci:
Pour E-Mail:
Pour le mot de passe:
Mais pourriez-vous également fournir la page HTML que vous travaillez avec? Peut-être que la forme est à l'intérieur d'une iframe et, par conséquent, le Sélénium a des problèmes pour trouver l'élément
BTW xpath sont plus lent et beaucoup plus lent dans IE
OriginalL'auteur Stefan
Vous devez ajouter .getText() la méthode pour obtenir le texte à l'intérieur de la balise.
OriginalL'auteur Momo
Avez-vous essayé quelque chose comme
object.getAttribute("innerHTML")
, littéralement, avec"innerHTML"
, comme ça ?J'ai eu un problème similaire l'obtention d'un texte à partir d'une balise span
OriginalL'auteur Ariadne Pereira