20

属性にワイルドカードを使用したい。たとえば、これは私の通常のXPathです。

//input[@id='activation:j_idt84:voId:1']`

j_idt番号は動的であるため、番号をワイルドカードに置き換えたいと思います。私はこのようなものを探しています:

//input[@id='activation:*:voId:1']

その問題を解決する方法がわかりません。私の考えも可能ですか?

4

2 に答える 2

35

残念ながら、XPathには文字列のワイルドカードはありません。contains()ただし、複数を使用して、starts-with()このようなものをフィルタリングすることができます。

//input[starts-with(@id, 'activation:') and contains(@id, ':voId:1')]

また、この回答も役立つ可能性があります。セレン:セレンロケーターで正規表現を使用することは可能ですか?

于 2012-09-19T13:41:07.890 に答える
4

XPath 2.0で使用可能な関数を使用して、文字列ワイルドカードを使用できます。matches

//input[matches(@id, 'activation:.*:voId:1')]
于 2012-09-19T13:46:05.487 に答える