Selenium WebDriver ne trouve pas l'élément par le texte du lien
Je suis en train de sélectionner un élément qui comprend une ancre, mais le texte est enterré dans un paragraphe à l'intérieur d'un div. Voici le code HTML, je travaille avec:
<a class="item" ng-href="#/catalog/90d9650a36988e5d0136988f03ab000f/category/DATABASE_SERVERS/service/90cefc7a42b3d4df0142b52466810026" href="#/catalog/90d9650a36988e5d0136988f03ab000f/category/DATABASE_SERVERS/service/90cefc7a42b3d4df0142b52466810026">
<div class="col-lg-2 col-sm-3 col-xs-4 item-list-image">
<img ng-src="csa/images/library/Service_Design.png" src="csa/images/library/Service_Design.png">
</div>
<div class="col-lg-8 col-sm-9 col-xs-8">
<div class="col-xs-12">
<p>
<strong class="ng-binding">Smoke Sequential</strong>
</p>
Le code que j'utilise pour essayer d'accrocher c'est le ciblage de la Fumée "Séquentiel" texte avec:
driver.findElement(By.linkText(service)).click();
Où la variable "service" détient "la Fumée "Séquentiel". Quand je le lance, j'obtiens l'erreur suivante:
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"link text","selector":"Smoke Sequential"}
Toute aide serait grandement appréciée.
source d'informationauteur Taelus | 2013-12-04
Vous devez vous connecter pour publier un commentaire.
Le problème est peut-être dans le reste du html, la partie que vous n'avez pas de poste.
Avec cet exemple (j'ai juste fermé les balises ouvertes):
J'ai été en mesure de trouver l'élément sans problème avec:
Si il n'y a plus de texte à l'intérieur de l'élément, vous pouvez essayer de trouver des partielles texte du lien:
Utilisation de xpath et le texte()
Cela ne semble pas avoir
<a> </a>
balises afin de sélénium pourrait ne pas être en mesure de détecter un lien.Que vous pouvez essayer et utiliser
si c'est le seul élément dans la page, avec cette classe .
Un sélecteur CSS approche pourrait certainement travailler ici. Essayez:
Cela ne fonctionnera pas si il y a d'autres ancres avant celui de la classe item. Vous pouvez mieux préciser l'exacte élément si vous faites quelque chose comme "#ma_table >.article" où ma_table est l'id d'une table que l'ancrage est un enfant de.
est une excellente solution