在用selenium编写web页面的自动化测试代码时,可能需要执行一些JavaScript代码,selenium本身就支持执行js,我们在代码中可以使用executeScript、executeAsyncScript这两个方法来执行JS。 
executeScript是同步方法,用它执行js代码会阻塞主线程执行,直到JS代码执行完毕; 
executeAsyncScript方法是异步方法,它不会阻塞主线程执行。

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(String script, object... args);

executeScript方法如果有返回值,有以下几种情况:
   1、如果返回一个页面元素(document element), 这个方法就会返回一个WebElement
   2、如果返回浮点数字,这个方法就返回一个double类型的数字
   3、返回非浮点数字,方法返回Long类型数字
   4、返回boolean类型,方法返回Boolean类型
   5、如果返回一个数组,方法会返回一个List<Object>
   6、其他情况,返回一个字符串
   7、如果没有返回值,此方法就会返回null

 

JavascriptExecutor js = (JavascriptExecutor) driver; 

catch (InterruptedException e) {
e.printStackTrace();
}
}
}

 

相关文章: