目的:javascript
1. 執行一段JS,來改變HTML
2. 一些非標準控件沒法用selenium2的API時,能夠執行JS的辦法來取代java
主要操做:
JavascriptExecutor j = (JavascriptExecutor)driver;
j.executeScript("alert('hellow rold!')");spa
說明:
1. executeScript這個方法的參數爲字符串,爲一段JS代碼
2. 注意,JS代碼須要自已根本項目的需求來編寫!ip
executeScript(java.lang.String arg0, java.lang.Object... arg1);字符串
第二個參數是一個可變參數,
1. 第二個參數的寫法:
JDK1.6~1.7
不使用第二個參數
executor.executeScript("alert('aaa');");
使用第二個參數:
executor.executeScript("alert('aaa');","argument1","argument2");
executor.executeScript("alert('aaa');", new Object[]{"argument1","argument2"});
JDK1.8
不使用第二個參數
executor.executeScript("alert('aaa');", new Object[]{});
使用第二個參數:
executor.executeScript("alert('aaa');", new Object[]{"argument1","argument2"});
2. 第二個參數的做用。
實際上是給第一個參數指定javascript代碼傳入值,這些值能夠經過在javascript裏使用arguments[0],arguments[1]來獲取。
executor.executeScript("alert(arguments[0]);", new Object[]{"aa111"});selenium