Wybieranie elementów, których atrybut zaczyna się od czegoś w XPath

86

Jak mówi tytuł, czy można wybrać w XPath elementy, które zaczynają się tylko od określonego ciągu, ale być może nie kończą się tym samym?

Na przykład istnieją 3 elementy kotwiące:

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

Chcę otrzymywać tylko elementy zakotwiczenia zaczynające się od „buy.php /”. Nie sądzę, że zadziała, prawda:

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

Jak mogę to zrobić?

Allen Gingrich
źródło

Odpowiedzi:

3

Nie jestem pewien, czy to jest dokładnie poprawna składnia, ale prawdopodobnie chcesz użyć funkcji fn: zawiera xpath. Inne przydatne funkcje można znaleźć tutaj:

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

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

Michael Bazos
źródło
powyższy link jest martwy, ale oto inna referencja do funkcji, która nie jest: developer.mozilla.org/en-US/docs/Web/XPath/Functions
billynoah