2012年3月6日火曜日

executeScriptの引数

(公式のまんまだけど、、、覚書として)

((JavascriptExecutor)driver).executeScriptには引数をいくつも指定することができる。



 List<WebElement> labels = driver.findElements(By.tagName("label"));
List<WebElement> inputs = (List<WebElement>) ((JavascriptExecutor)driver).executeScript(
    "var labels = arguments[0], inputs = []; for (var i=0; i < labels.length; i++){" +
    "inputs.push(document.getElementById(labels[i].getAttribute('for'))); } return inputs;", labels);

こんな感じ。
ちょうどjavascriptのargumentsのように引数を設定出来る。
戻ってきた値を WebElementに変換もできる。まじやばい。

0 件のコメント:

コメントを投稿