来源: 使用Webdriver执行JS小结 http://lijingshou.iteye.com/blog/2018929
selenium常用的js总结 http://www.cnblogs.com/tobecrazy/p/4817946.html
1.直接传入Javascript代码
可以直接给js传入javascript代码:
- js.executeScript("window.document.getElementById('jingshou').click()";
2.传入WebElement执行JS:
- WebElement element = driver.findElement(By.id("jingshou"));
- js.executeScript("arguments[0].click();", element);
又或者:
- js.executeScript("arguments[0].onclick=function(){alert('This is my alert!');}", element)
其中auguments[0]就代表element, 甚至我们可以传入更多的参数,比如
- WebElement div = driver.findElemnt(By.id("myDiv"));
- jse.executeScript("arguments[0].setAttribute('style', arguments[1])", div, "height: 1000px");
通过执行以上代码,我们指定的DIV就新增(修改)了 style {height: 1000px}的属性
ex. 使用JavaScript语句将传入参数(页面元素对象)的背景颜色和边框颜色分别设置为 黄色、红色
JavascriptExecutor js=(JavascriptExecutor) driver; js.executeScript("arguments[0].setAttribute('style',arguments[1]);", element,"background: yellow; border:2px solid red;");