2010-03-06 3 views
1

J'essaie d'écrire xpath pour l'un des éléments dans une structure arborescente dans l'interface utilisateur.aide nécessaire avec xpath ... s'il vous plaît

L'arborescence ressemble à une structure de fichier Windows, comme le nœud parent, enfant. Donc, afin de trouver le nœud parent de nœud enfant doit être cliqué.

+ [file icon] Book 
|_ Book 1 
|_ Book 2 
|_ Book 3 

Sélénium donne la XPath suivante pour le texte « Livre » dans l'arbre ci-dessus montre

//ul[@id='book_xxx']/li/ul/li[8]/span 

lorsque je clique sur l'icône de fichier, le sélénium m'a donné suite

//ul[@id='book_xxx']/li/ul/li[8]/img[1] 

Comment peut-on écrire un xpath pour cliquer sur l'icône du fichier (c'est-à-dire sur l'image) en fonction de la connaissance du texte du span? J'ai besoin du xpath pour cliquer sur l'image de l'icône du fichier.

+3

Il est plus facile de répondre aux questions XPATH lorsque des exemples XML sont fournis. –

Répondre

0

Il semble que les span et img éléments sont tous deux enfants du 8ème élément li, et je suppose que le texte à l'intérieur du span que vous souhaitez apparier est « Livre ».

Si vous voulez sélectionner le filtrage span sur le texte que vous devriez être en mesure d'utiliser:

//ul[@id='book_xxx']/li/ul/li[span[text()='Book']]/img[1]

Il utilise un filtre sous-jacente imbriqué pour identifier le li qui a un élément enfant span qui est le noeud de texte La valeur est "Book", puis sélectionne le premier élément li .

0

Essayez:

//ul[@id='book_xxx']/li/ul/li[8]/img[1] | //ul[@id='book_xxx']/li/ul/li[8]/span

Ce qui est pratiquement xpath1 or xpath.

Questions connexes