クラススパンの属性を照合する次のXPathがあります。
//span[@class='amount']
「amount」のクラス属性を持つすべての要素を一致させたいが、他のクラスも持つ可能性がある。私はこれを行うことができると思いました:
//span[@class='*amount*']
しかし、それはうまくいきません...どうすればいいですか?
次の式を使用します。
//span[contains(concat(' ', @class, ' '), ' amount ')]
contains
を単独で使用することもできますが、someamount
のようなクラスにも一致します。次の入力で上記の式をテストします。
<root>
<span class="test amount blah"/>
<span class="amount test"/>
<span class="test amount"/>
<span class="amount"/>
<span class="someamount"/>
</root>
最初の4つのspan
要素を選択しますが、最後の要素は選択しません。
Containsメソッドを使用する必要があります。参照 XPath contains()の使用方法はこちら
//span[contains(@class,'amount')]