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

Était-ce utile?

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
scroll top