balise html de requête avec XPath
Question
Je suis en train d'écrire le test de sélénium.
J'ai une étiquette là « Attribuer Designer » et la zone de sélection suivi juste après l'étiquette. Unfortunetely, cochez la case a l'id dynamique et je ne peux pas interroger par id ou tout autre attribut il est.
Puis-je construire la requête XPath qui retourne « tag après sélection Première texte" Assigner Designer »?
PS. Sélénium ne supporte que XPath 1.0
La solution
Ce serait quelque chose comme:
//label[text() = 'Assign Designer']/following-sibling::select[1]
Notez que:
- Le // raccourci est tout à fait inefficace, car il provoque une analyse de documents à l'échelle. Si vous pouvez être plus précis sur la position de l'étiquette, je vous recommande de le faire. Si le document est petit, cependant, ce ne sera pas un problème.
- Comme je ne sais pas grand-chose à propos de Selenium, j'ai utilisé « label ». Si ce n'est pas un
<label>
, vous devez utiliser le nom réel de l'élément, bien sûr. ; -) - assurez-vous d'inclure un prédicat de position (
[1]
, dans ce cas) chaque fois que vous utilisez un axe comme «following-sibling
». Il est facilement oublié et si elle est, vos expressions peut produire des résultats inattendus.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow