2009-10-09 11 views
0

J'ai une page avec l'extrait suivant dans le code HTML:xPath dans le sélénium - qu'est-ce que je fais mal?

... 
<tbody id="c_scopePane4_tbody"> 
<tr id="c_scopePane4_tr_header"> 
... 
</tr> 
</tbody> 
... 

Maintenant, je suis en train de préciser la balise <tr> avec une expression XPath à l'intérieur Sélénium. Voici ce que j'essaie:

//tr[@id='c_scopePane4_tr_header'] 

Cela me dit

[error] locator not found: //tr[@id='c_scopePane4_tr_header'], error = Error: 
Element //tr[@id='c_scopePane4_tr_header'] not found 

Mais si je change l'expression XPath à:

//*[@id='c_scopePane4_tr_header'] 

... alors cela fonctionne. Ce qui donne?

Répondre

3

Cela fonctionne pour moi avec le même extrait. Peut-être qu'il y a quelque chose d'autre dans votre code HTML qui cause des problèmes? Avez-vous plus d'un <tr> (ou tout autre élément) avec le même ID?

Parce que les ID sont uniques, vous devriez pouvoir utiliser votre seconde expression XPath en toute confiance. Vous pouvez également utiliser ce qui suit, mais assurez-vous de faire précéder votre localisation avec xpath= afin que Sélénium connaît le type de localisation que vous utilisez:

xpath=id('c_scopePane4_tr_header') 

Aussi, si vous voulez juste sélectionner l'élément <tr> alors vous pouvez aussi utiliser une des opérations suivantes:

  • c_scopePane4_tr_header
  • identificateur = c_scopePane4_tr_header
  • id = c_scopePane4_tr_header
0

Autre localisateur de style CSS:

css=tr#c_scopePane4_tr_header 

ou DOM Style:

dom=document.getElementById("c_scopePane4_tr_header") 
Questions connexes