2013-08-15 2 views
0

J'ai besoin Xpath relatif pour la ligne ci-dessousXPath pour Hyperlink

"<a name="newvol_link" title="New Volunteer Signup" id="newvol_link" onclick="doAction('NEW_VOL_LINK', event);;return false" href="javascript:void(0)">" 

Une façon est de trouver par findElement(By.linkText(“New Volunteer Signup”)); Mais je veux Xpath bon pour cette expression.

Addded chemin DOM

<div class="information">           
    <div align="center">         
     <table width="90%" border="0">      
      <tbody>        
       <tr align="left" vAlign="top">  
        <td width="40%">   
         <b>    
          <br/>  
          <br/>  
          <br/>  
          <br/>  
           <a name="newvol_link" title="New Volunteer Signup" id="newvol_link" onclick="doAction('NEW_VOL_LINK', event);;return false" href="javascript:void(0)"> 
+0

Le XPath est le chemin dans les DOM à cet élément ...... Pour une expression XPath appropriée, vous devez savoir où exactement dans les DOM que l'élément existe . Ce qui signifie que tous les éléments parents sont nécessaires. – Colyn1337

+0

Mis à jour le message avec le chemin DOM – Yougandhara

+0

Il existe plusieurs chemins d'accès XPath possibles pour un nœud donné; aucun d'entre eux n'est intrinsèquement «plus propre» que les autres. Vous devriez être plus précis. – Jon

Répondre

1

Essayez

//a[@title="New Volunteer Signup"] 

ou, un peu plus précis

//a[@id="newvol_link" and @title="New Volunteer Signup"] 

(//a[@id="newvol_link"] devrait être suffisant, mais HTML permet de multiples éléments partageant le même id attribut alors méfiez-vous)

ou, avec quelques éléments parents

//div[@class="information"]//table//tr/td//a[@id="newvol_link" and @title="New Volunteer Signup"] 
+0

Comme les commentaires sur la question dit, cela dépend toujours du contexte du document ce qui ferait une bonne expression XPath pour un élément. Pour votre élément dans le commentaire précédent, vous pouvez tester l'égalité des valeurs d'attribut, c'est-à-dire '// a [@ href =" javascript: goToRecruiter ('VolunteerRegistration') "]', ou '// a [contains (@href," goToRecruiter ('VolunteerRegistration') ")]' pour tester une partie de la valeur de l'attribut. Comme par exemple, http://www.w3.org/TR/xpath/#path-abbrev donne quelques modèles courants, ou http://www.w3schools.com/xpath/xpath_syntax.asp –

+0

Merci beaucoup! :) – Yougandhara