2017-08-11 1 views
-1

Ci-dessous le code. Quelqu'un peut-il m'aider à identifier 3 zones de texte individuellement, sans utiliser d'index.Comment identifier les 1er, 2e et 3e zones de texte sans utiliser d'index (ex [1]) - xpath, sélénium

<html> 
    <head> 
     <title>test</title> 
     <script></script> 
    </head> 
    <body> 
     name: 
     <input type="text"/> 
     <br/> 
     name: 
     <input type="text"/> 
     <br/> 
     name: 
     <input type="text"/> 
     <div>testdiv</div> 
    </body> 
</html> 
+0

Vos 3 éléments sont identiques Donc, il est possible d'utiliser indirectement '// input [1]' indirectement si vous pouvez utiliser la fonction '// input [last()]' - il va localiser la dernière balise d'entrée, ' // input [last() - 1] '- il va localiser le second dernier tag d'entrée ou quelque chose en utilisant' position() '-' // input [position() = 1] 'et ainsi de suite – NarendraR

+2

Quels sont les besoins de votre entreprise? Pourquoi voulez-vous éviter l'index? – DebanjanB

+0

Montrez comment vous avez essayé de résoudre votre problème – Andersson

Répondre

0

Vous pouvez ci-dessous expressions pour correspondre à chaque input:

Pour la première:

//input[not(preceding-sibling::input)] 

Pour la deuxième:

//input[preceding-sibling::input and following-sibling::input] 

Pour la troisième:

//input[not(following-sibling::input)]