Seleção de elementos cujo atributo começa com algo no XPath

86

Como diz o título, é possível selecionar elementos no XPath que começam apenas com uma determinada string, mas talvez não terminem com a mesma?

Por exemplo, existem 3 elementos âncora:

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

Só quero obter elementos âncora que comecem com 'buy.php /'. Eu não acho que o seguinte vai funcionar, vai:

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

Como posso fazer isso?

Allen Gingrich
fonte

Respostas:

3

Não tenho certeza se esta é exatamente a sintaxe correta, mas você provavelmente deseja usar a função fn: contains xpath. Outras funções úteis que você pode encontrar aqui:

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

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

Michael Bazos
fonte
O link acima está morto, mas aqui está outra referência de função que não é: developer.mozilla.org/en-US/docs/Web/XPath/Functions
billynoah