1

中間にランダムな値を持つ html ID を生成する Web アプリケーションをテストしようとしています。例: attribute_new_12493044135_name 属性は、検索するオブジェクトのクラスを定義し、「名前」はこの文字列の一意の部分です。問題は、私が Xpath 2.0 を持っていないため、スクリプトで end-with を使用できないことです。誰でも助けることができますか?Selenium Webdriver と IDE を使用しようとしましたが、答えが見つかりませんでした。

4

2 に答える 2

3

Xpath 2.0 ライブラリにアクセスできない場合、ends-with 関数を使用できないことは確かに正しいです。ただし、すべての Xpath 1.0 関数にアクセスできます。http://www.edankert.com/xpathfunctions.html

要素への xpath に使用できる関数が 2 つあります。

含む ()://*[contains(@id, 'name')]

substring(): //*[substring(@id, string-length(@id)-3)="name"] string-length の 3 は、ロケーターの文字数から 1 を引いたものです。つまり、'name' は 4 文字なので、4 - 1 = 3 です。

幸運を!

于 2012-10-02T20:47:24.863 に答える
0

また、XPath の代わりに CSS ロケーターを組み合わせて使用​​することもできます。

[id*=attribute_new_][id*=_name]

また:

[id^=attribute_new_][id$=_name]

記号の意味は次のとおりです。

" ^ " - プレフィックス / で始まる

" $ " - サフィックス / で終わる

"*" - 部分文字列 / 含む

于 2021-05-28T21:36:27.250 に答える