Utilisation de XPath: rechercher le lien dans la cellule 3 lignes plus haut
Question
J'ai plusieurs lignes dans une table, dont l'une est un lien sur lequel je voudrais cliquer automatiquement. Comme point de départ, j’ai le dernier cas où une ligne contient le texte & "Test Question? &":
ID: 1416
Éditer / Approuver Ignorer Email Prénom: Nom de l'émetteur
Ouvrir N / A Emplacement: Lieu de l'émetteur
Membre: Non
Texte de la question: Questions d'examen? Réponse 1:
Réponse 2 Texte:
ID: 1417
Éditer / Approuver Ignorer Email Prénom: Nom de l'émetteur
Ouvrir N / A Emplacement: Lieu de l'émetteur
Membre: Non
Texte de la question: Questions d'examen? Réponse 1:
Réponse 2 Texte:
Donc, // tr [td = 'Question de test?'] [last ()] ressemblerait à " texte de la question: question de test? "
Quoi qu'il en soit, à trois rangées de là, il y a une rangée de liens. Je voudrais que le xpath au lien dans la première cellule.
Maintenant, j'ai essayé d'utiliser position (), mais des trucs comme // tr [position () = (// tr [td = 'Question test?'] [last ()] [position ()]) - 3] n’est tout simplement pas la bonne façon de le faire et je ne trouve pas de bons exemples.
Merci
Dave
La solution
Ce sera un peu génial xpath pour le moins, mais vous regardez axes commençant par ancestor::tr
puis parent précédent. Tunnel jusqu’à <tr>
, puis à travers trois (vous aurez besoin de renvoyer position()
ici, je pense), puis de manière normale, de là à votre objectif.
Edit: plus facile que je ne le pensais, le nombre de frères et sœurs antérieurs compte à rebours.
./ancestor::tr/preceding-sibling::tr[3]/td[1]/a