web-dev-qa-db-ja.com

XPathで何かで始まる属性を持つ要素を選択する

タイトルにあるように、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/']")

これどうやってするの?

76
Allen Gingrich
150
MooGoo

これが正確な構文であるかどうかはわかりませんが、おそらくfn:contains xpath関数を使用する必要があります。ここにあるその他の便利な機能:

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

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

3
Michael Bazos