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

86

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

Par exemple, il y a 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 commençant par «buy.php /». Je ne pense pas que ce qui suit fonctionnera, est-ce que ça va:

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

Comment puis-je faire ceci?

Allen Gingrich
la source

Réponses:

3

Je ne sais pas si c'est exactement la syntaxe correcte, mais vous souhaiterez probablement utiliser la fonction fn: contains xpath. D'autres fonctions utiles que vous pouvez trouver ici:

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

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

Michael Bazos
la source
le lien ci-dessus est mort mais voici une autre référence de fonction qui ne l'est pas: developer.mozilla.org/en-US/docs/Web/XPath/Functions
billynoah