使用Webdriver执行JS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Webdriver执行JS相关的知识,希望对你有一定的参考价值。

首先,我们使用如下方式初始化driver:

 

Java代码  技术分享
  1. WebDriver driver = new FirefoxDriver();  
  2. javascriptExecutor jse = (JavascriptExecutor)driver;  

 

1.直接传入Javascript代码

可以直接给jse传入javascript代码:

Java代码  技术分享
  1. jse.executeScript("window.document.getElementById(‘jingshou‘).click()";  

2.传入WebElement执行JS:

Java代码  
  1. WebElement element = driver.findElement(By.id("jingshou"));  
  2. jse.executeScript("arguments[0].click();", element);  

又或者:

Java代码  
  1. jse.executeScript("arguments[0].onclick=function(){alert(‘This is my alert!‘);}", element)  

其中auguments[0]就代表element, 甚至我们可以传入更多的参数,比如

Java代码  
  1. WebElement div = driver.findElemnt(By.id("myDiv"));  
  2. jse.executeScript("arguments[0].setAttribute(‘style‘, arguments[1])", div, "height: 1000px");  

 通过执行以上代码,我们指定的DIV就新增(修改)了 style {height: 1000px}的属性

 本文出自"lijingshou"博客,转载请务必保留此出处http://lijingshou.iteye.com/blog/2018929

以上是关于使用Webdriver执行JS的主要内容,如果未能解决你的问题,请参考以下文章

从 HTML 执行 Webdriver 脚本

使用 Java 在 Selenium WebDriver 中制作可执行文件

在 C# 中使用 Selenium WebDriver 执行 JavaScript

Selenium 错误消息“selenium.webdriver 没有属性执行脚本”

Selenium-Webdriver (Java) 无法始终执行“悬停和单击”功能

WebDriver中执行JavaScript