XPath 1.0 cibler un parent par son type

Si vous lisez cet article c'est que probablement vous utilisez des XPaths pour écrire des tests d'intégration par exemple.

Si l'étape que vous implémentez est de cliquer un lien qui contient un text ou qui a un titre c'est très simple.

Mais disons que vous avez un ce code :

Ou encore ce code :

Et que vous désiriez cibler l'élément a avec un XPath.
C'est du coup plus difficile.

Voici la solution:

//*[@title='Visit my page' or .='Visit my page']/ancestor::a[1]

ancestor::a veux dire que vous recherchons un élément du type lien hypertext (a) et le 1 veux dire le plus proche.