web-dev-qa-db-ja.com

Seleniumでの大文字と小文字のxpath関数の使用IDE

Xpath関数lower-caseまたはupper-caseを使用してxpathクエリを取得しようとしていますが、Seleniumでは機能しないようです(適用する前にxpathをテストします)。

機能しない例:

//*[.=upper-case('some text')]

大文字と小文字を使用しない限り、複雑なパスで必要なノードを見つけたり、集約関数を使用したりしても問題はありません。

誰かが以前にこれに遭遇したことがありますか?それは意味がありますか?

ありがとう。

24
Aristotelis

upper-case()およびlower-case()はXPath 2.0関数です。プラットフォームがXPath 1.0のみをサポートしている可能性があります。

試してください:

translate('some text','abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')

これは、XPath 1.0で行う方法です。残念ながら、これにはテキストが使用するアルファベットの知識が必要です。平易な英語の場合、上記はおそらく機能しますが、アクセント付き文字が予想される場合は、それらをリストに追加してください。

55
Tomalak

Xsltの複数の場所で大文字が必要な場合は、小文字と大文字の変数を定義して、どこでも変換関数で使用できます。それはあなたのxsltをよりきれいにするはずです。

XSL/XPATH:MSXML 4.0に大文字の関数がない場合)の例?

2
Rashmi Pandit