0

JQuery は、$("span[id$='Label1']")ASP.NET INamingContainer で生成された ID を選択できるようにするための構文をサポートしており、" ct100$... " というプレフィックスが付いています。

私たちは Selenium を使用しており、ASP.NET が生成するプレフィックスを無視して、要素を選択する同様の方法を探しています。

アイデア?

4

3 に答える 3

0

プロジェクトが .Net 4 の場合、動的コントロールに静的な名前を付けることができるようになりました。

ここを読むhttp://www.dotnetcurry.com/ShowArticle.aspx?ID=492

このようにする余裕があれば、生活が少し楽になります。それ以外の場合は、適切な形式の XPath が機能します (ただし、テスト IE は非常に低速です)。

乾杯、ステファン

于 2010-12-16T16:06:54.387 に答える
0

理論的には、次のような XPath セレクターを使用して実行できます。

//div[ends-with(text(), 'MyControlId')]

ends-withしかし、XPath 1.0 の一部ではないため、Seleniumではこの関数を使用できないと感じています。次のようなもっと醜いものが必要になる場合があります。

//div[substring(text(), string-length(text()), 11)='MyControlId']

于 2010-12-16T15:34:59.370 に答える
0

使用する:

//span[@id[substring(.,string-length()-5)='Label1']]
于 2010-12-16T15:49:49.147 に答える