目的:
1. 执行一段JS,来改变HTML
2. 一些非标准控件无法用selenium2的API时,可以执行JS的办法来取代
主要操作:
JavascriptExecutor j = (JavascriptExecutor)driver;
j.executeScript("alert('hellow rold!')");
说明:
1. executeScript这个方法的参数为字符串,为一段JS代码
2. 注意,JS代码需要自已根本项目的需求来编写!
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"});