JQuery は、$("span[id$='Label1']")
ASP.NET INamingContainer で生成された ID を選択できるようにするための構文をサポートしており、" ct100$... " というプレフィックスが付いています。
私たちは Selenium を使用しており、ASP.NET が生成するプレフィックスを無視して、要素を選択する同様の方法を探しています。
アイデア?
JQuery は、$("span[id$='Label1']")
ASP.NET INamingContainer で生成された ID を選択できるようにするための構文をサポートしており、" ct100$... " というプレフィックスが付いています。
私たちは Selenium を使用しており、ASP.NET が生成するプレフィックスを無視して、要素を選択する同様の方法を探しています。
アイデア?
プロジェクトが .Net 4 の場合、動的コントロールに静的な名前を付けることができるようになりました。
ここを読むhttp://www.dotnetcurry.com/ShowArticle.aspx?ID=492
このようにする余裕があれば、生活が少し楽になります。それ以外の場合は、適切な形式の XPath が機能します (ただし、テスト IE は非常に低速です)。
乾杯、ステファン
理論的には、次のような XPath セレクターを使用して実行できます。
//div[ends-with(text(), 'MyControlId')]
ends-with
しかし、XPath 1.0 の一部ではないため、Seleniumではこの関数を使用できないと感じています。次のようなもっと醜いものが必要になる場合があります。
//div[substring(text(), string-length(text()), 11)='MyControlId']
使用する:
//span[@id[substring(.,string-length()-5)='Label1']]