J'ai une question. J'ai des éléments quelque chose comme ça:
<a>
élément avec id = someGenerated Some: Identique: 0: nom
<a>
élément avec id = someGenerated Some: Idem: 0: nom de famille
<a>
élément avec id = someGenerated Some: Identique: 1: nom
<a>
élément avec id = someGenerated Some: Idem: 1: nom de famille
J'ai besoin d'un sélecteur CSS pour obtenir les noms. Le problème est que je ne sais pas comment l'obtenir. J'ai essayé a[id*='Some:Same']
- il a renvoyé tous les <a>
éléments. Après je peux obtenir des éléments dont l'identifiant se termine par un nom. Mais je n'aime pas cette idée. Je pense que cela peut être fait avec un autre sélecteur.
css
css-selectors
webdriver
TarasLviv
la source
la source
<a>
balises que vous souhaitez sélectionner et celles que vous ne voulez pas. Il sera plus facile d'aider à voir le vrai code.Réponses:
Essaye ça:
a[id*='Some:Same'][id$='name']
Cela vous donnera tous les
a
éléments avec un identifiant contenantet que l'identifiant se termine par
la source
<constant><variable><constant>
nom.//driver.findElements(By.xpath("//iframe[contains(@id*,'FrameID')]")).size();
où FrameID est la partie de début. Quoi qu'il en soit, a//a[contains(@id,'Some:Same') and contains(@id,'name')]
fait l'affaire pour moi. Donc +1 à toi, mon pote.*
prochainid
?<div id='element_123_wrapper_text'>My sample DIV</div>
The Operator ^ - Correspond aux éléments commençant par une valeur donnée
div[id^="element_123"] { }
The Operator $ - Correspond aux éléments qui se terminent par une valeur donnée
div[id$="wrapper_text"] { }
L'opérateur * - Correspond aux éléments qui ont un attribut contenant une valeur donnée
div[id*="wrapper_text"] { }
la source
Le seul sélecteur que je vois est
a[id$="name"]
(tous les liens dont l'identifiant se termine par "nom") mais ce n'est pas aussi restrictif qu'il le devrait.la source