Selenium ide に、任意のページで提供されるすべてのコントロールのリストとハンドラーを取得する方法はありますか? したがって、RC を使用して 1 つずつテストできれば、ページに 40 を超えるコントロールがある場合に非常に役立ちます。そうなると、全部を記録するのはとても面倒になります。
質問する
1642 次
2 に答える
2
Selenium ではgetXpathCount
、一致する要素の数を取得し、それらをループするために使用できます。次の Java の例は、ページ上のチェックボックスの ID を出力します。
int checkboxCount = selenium.getXpathCount("//input[@type='checkbox']").intValue();
for (int i = 1; i < checkboxCount + 1; i++) {
System.out.println(selenium.getAttribute("//body/descendant::input[@type='checkbox'][" + i + "]@id"));
}
WebDriver API (Selenium 2 にマージされる予定) には、findElements
一致する要素のリストを返すメソッドがあります。上記の例は次のようになります。
for (WebElement checkbox : driver.findElements(By.xpath("//input[@checkbox]"))) {
System.out.println(checkbox.getAttribute("id"));
}
于 2009-12-08T12:25:40.673 に答える
0
getEval と Javascript ルーチンを使用して DOM を調べることも可能です。ページ上のチェックボックスの ID を検索する例を次に示します: http://seleniumhq.org/docs/05_selenium_rc.html#executing-javascript-from-your-test
于 2011-04-11T13:20:58.523 に答える