【WebDriver】调用JavaScript
2017-02-24 18:16
309 查看
【WebDriver】调用JavaScript
一、WebDriver 提供了executeScript方法来执行JavaScript 代码,从而对页面元素做一些特殊操作
代码:
第一行先new一个WebDriver,第二行将Webdriver强制转换为JavascriptExecutor,第三行执行js,参数script是要执行的js语句,后面的参数可以没有,也可以有1个或者多个。
二、调用js实例
1、拖动页面滚动条
window.scrollTop()方法用于设置浏览器窗口滚动条的水平和垂直位置。方法的第一个参数表示水平的左间距,第二个参数表示垂直的上边距。
2、弹出alert
3、向页面中textarea 文本框输入内容
如这个html:
Java代码:
4、点击某个元素
5、改变元素的属性
上图中的月份未选中选择时class为“bs_times_month”,点击某个月份后它的class会变为
“bs_times_monthBlue bs_times_monthSelected”。我们可以用js直接设置想要选中月份的class,就不用点击了。
代码:
一、WebDriver 提供了executeScript方法来执行JavaScript 代码,从而对页面元素做一些特殊操作
代码:
…… WebDriver driver = new FirefoxDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript(String script, object... args); ……
第一行先new一个WebDriver,第二行将Webdriver强制转换为JavascriptExecutor,第三行执行js,参数script是要执行的js语句,后面的参数可以没有,也可以有1个或者多个。
二、调用js实例
1、拖动页面滚动条
…… JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("window.scrollTo(100,450);"); ……
window.scrollTop()方法用于设置浏览器窗口滚动条的水平和垂直位置。方法的第一个参数表示水平的左间距,第二个参数表示垂直的上边距。
2、弹出alert
…… JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("alert('Hello world!');"); ……
3、向页面中textarea 文本框输入内容
如这个html:
…… <textarea id="id" style="width: 98%" cols="50" rows="5" class="txtarea"> </textarea> ……
Java代码:
…… String areaText= "Hello World"; String js = "var sum=document.getElementById('id'); sum.value='" + areaText+ "';"; ((JavascriptExecutor)driver).executeScript(js); ……
4、点击某个元素
…… //第一种方法 JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("window.document.getElementById('id').click()"; //第二种方法 WebElement element = driver.findElement(By.id("id")); js.executeScript("arguments[0].click()", element); //这里的auguments[0]就代表element ……
5、改变元素的属性
上图中的月份未选中选择时class为“bs_times_month”,点击某个月份后它的class会变为
“bs_times_monthBlue bs_times_monthSelected”。我们可以用js直接设置想要选中月份的class,就不用点击了。
代码:
…… List<WebElement> months = driver.findElements(By.className("bs_times_month")); JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript("arguments[0].setAttribute('class',arguments[1])",months.get(3),"bs_times_monthBlue bs_times_monthSelected"); ……
相关文章推荐
- WebDriver API(15)调用 JavaScript
- WEB(Javascript)远程调用方案清单
- WEB(Javascript)远程调用方案清单
- 如何在Android WebView 调用 Javascript 并返回值
- Android ---- WebView与JavaScript交互调用(2)
- Android ---- WebView与JavaScript交互调用(1)
- Direct Web Remoting:利用 JavaScript 调用服务器端类(翻译)
- Android的Webview中,javascript如何调用java方法
- WEB调用JavaScript的方式
- 用javascript调用.net webservices实例 [转]
- JavaScript调用底层硬件已成为W3C标准:移动将进入Web时代?
- 如何从客户端 JavaScript 调用 .NET Web 服务使用 InternetExplorer 和 MSXML
- 如何用JavaScript调用Web服务——callService/useService
- 用javascript调用.net webservices实例
- android webview与javascript交互调用
- WEB(Javascript)远程调用方案清单
- JavaScript调用web服务学习实例——用户注册
- 【转】WEB(Javascript)远程调用方案清单
- wp7应用程序调用javascript(与web页面的交互)
- 利用WebView通过javascript调用android java方法