XPathで属性が何かで始まる要素の選択


86

タイトルが示すように、特定の文字列でのみ始まるが、おそらく同じ文字列で終わらない要素をXPathで選択することは可能ですか?

たとえば、3つのアンカー要素があります。

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

'buy.php /'で始まるアンカー要素のみを取得したい。次のことはうまくいかないと思います。

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

これどうやってするの?

回答:



3

これが正確に正しい構文であるかどうかはわかりませんが、おそらくfn:containsxpath関数を使用することをお勧めします。あなたがここで見つけることができる他の便利な機能:

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

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


上記のリンクは無効ですが、そうではない別の関数リファレンスがあります:developer.mozilla.org/en-US/docs/Web/XPath/Functions
billynoah 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.