web-dev-qa-db-fra.com

Sélection d'éléments dont l'attribut commence par quelque chose dans XPath

Comme le titre l'indique, est-il possible de sélectionner dans XPath des éléments qui ne commencent qu'avec une certaine chaîne, mais ne se terminent peut-être pas par la même?

Par exemple, il existe 3 éléments d'ancrage:

<a href="buy.php/onething"></a><a href="buy.php/twothing"></a><a href="sell.php/anotherthing"></a>

Je veux seulement obtenir des éléments d'ancrage qui commencent par 'buy.php /'. Je ne pense pas que ce qui suit fonctionnera, n'est-ce pas:

getByXPath("//a[@href='buy.php/']")

Comment puis-je faire ceci?

76
Allen Gingrich
150
MooGoo

Je ne sais pas si c'est exactement la syntaxe correcte mais vous voudrez probablement utiliser la fonction fn: contains xpath. Vous trouverez d'autres fonctions utiles ici:

http://www.w3schools.com/xpath/xpath_functions.asp#string

getByXPath ("// a [fn: contient (@ href/text (), 'buy.php /')]")

3
Michael Bazos