Auswählen von Elementen, deren Attribut mit etwas in XPath beginnt

84

Ist es, wie der Titel sagt, möglich, Elemente in XPath auszuwählen, die nur mit einer bestimmten Zeichenfolge beginnen, aber möglicherweise nicht mit derselben enden?

Zum Beispiel gibt es 3 Ankerelemente:

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

Ich möchte nur Ankerelemente erhalten, die mit 'buy.php /' beginnen. Ich denke nicht, dass Folgendes funktionieren wird, oder?

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

Wie kann ich das machen?

Allen Gingrich
quelle

Antworten:

3

Sie sind sich nicht sicher, ob dies genau die richtige Syntax ist, aber Sie möchten wahrscheinlich die Funktion fn: enthält xpath verwenden. Weitere nützliche Funktionen finden Sie hier:

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

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

Michael Bazos
quelle
Der obige Link ist tot, aber hier ist eine weitere Funktionsreferenz, die nicht vorhanden ist: developer.mozilla.org/en-US/docs/Web/XPath/Functions
billynoah