Comment cliquer sur un lien dont href dispose d'un certain sous-chaîne dans le Sélénium?
Ce qui suit est un tas de liens <a elements.
un SEUL d'entre eux a une sous-chaîne "long" comme valeur pour l'attribut href
<a class="c1" href= "very_lpng string" > name1 </a>
<a class="g2" href= "verylong string" > name2 </a> //The one that I need
<a class="g4" href= "very ling string" > name3 </a>
<a class="g5g" href= "very ng string" > name4 </a>
...................
J'ai besoin de cliquer sur le lien dont href
a sous-chaîne "long" en elle. Comment puis-je faire cela?
PS: driver.findElement(By.partialLinkText("long")).click();
//b/c, il choisit le nom de
- Pourquoi êtes-vous en train de créer une autre question à ce sujet? Vous avez posé la même question à trois heures: stackoverflow.com/questions/19055327/...
- Je suis désolé, je voulais supprimer la question précédente, et en ouvrir un nouveau, de sorte que je serais en mesure de l'expression de moi-même plus clairement...cette question mérite l'attention, car il n'est pas aussi facile qu'il y paraît
- mais apparemment je ne peux pas supprimer la question précédente. Il y a déjà une réponse (non correcte) à la question précédente
- Quelque chose comme ceci, il est probablement préférable d'utiliser xpath, bien que je ne suis pas sûr à 100% de mon xpath est correct:
driver.findElement(By.xpath("//@href[contains(text(), 'long'.)]).click();
- Merci, j'ai essayé cette méthode. il ne fonctionne pas malheureusement
- d'où vient ce "pilote" venu?
Vous devez vous connecter pour publier un commentaire.
Avec la beauté des sélecteurs CSS.
votre déclaration serait...
Cela signifie, en anglais,
Vous pouvez trouver un article utile sur la formulation de vos propres sélecteurs pour l'automatisation de manière efficace, ainsi qu'une liste de tous les autres opérateurs d'égalité.
contains
,starts with
, etc... Vous pouvez la trouver sur: http://ddavison.io/css/2014/02/18/effective-css-selectors.htmlutilisation
driver.findElement(By.partialLinkText("long")).click();
href
Vous pouvez faire ceci:
dans ce que nous r le faire est d'abord nous sommes à la recherche de tous les
<a>
tags et de les stocker dans unlist.After
que nous sommes en itérant la liste un par un pour trouver<a>
balise dont l'attribut href contient longue chaîne. Et puis nous cliquons sur<a>
tag et sort de la boucle.Avec l'aide de xpath locator aussi, vous pouvez atteindre le même.
Votre déclaration serait:
Et en cliquant sur tous les liens contenant longtemps dans l'URL, vous pouvez utiliser:-