属性にワイルドカードを使用したい。たとえば、これは私の通常のXPathです。
//input[@id='activation:j_idt84:voId:1']`
j_idt
番号は動的であるため、番号をワイルドカードに置き換えたいと思います。私はこのようなものを探しています:
//input[@id='activation:*:voId:1']
その問題を解決する方法がわかりません。私の考えも可能ですか?
残念ながら、XPathには文字列のワイルドカードはありません。contains()
ただし、複数を使用して、starts-with()
このようなものをフィルタリングすることができます。
//input[starts-with(@id, 'activation:') and contains(@id, ':voId:1')]
また、この回答も役立つ可能性があります。セレン:セレンロケーターで正規表現を使用することは可能ですか?
XPath 2.0で使用可能な関数を使用して、文字列ワイルドカードを使用できます。matches
//input[matches(@id, 'activation:.*:voId:1')]