Selenium WebDriver中常用到的JavaScript操作

来源:互联网 发布:淘宝店铺设置新品上架 编辑:程序博客网 时间:2024/06/05 07:25

在使用selenium中的webdriver编写automation时,我们可能需要执行一些JavaScript的代码。在selenium中有Javascript类可以执行。
import org.openqa.selenium.JavascriptExecutor;
其中有两个方法我们会经常遇到。
executeScript、executeAsyncScript

method 详情 executeScript 同步方法,用它执行js代码会阻塞主线程执行,直到js代码执行完毕; executeAsyncScript 异步方法,它不会阻塞主线程执行。

用到JS的方法
x为水平移动的像素、y为垂直移动像素、location为元素位置
操作滚动条
1. 垂直滚动

String scroll = "document.documentElement.scrollTop=" + "y"; JavascriptExecutor js=(JavascriptExecutor) driver; js.executeScript(scroll);

2 .水平滚动

String scroll = "document.documentElement.scrollLeft=" + "x"; JavascriptExecutor js=(JavascriptExecutor) driver; js.executeScript(scroll);
  1. 滚动条式
String scroll = "document.getElementById("location").scrollLeft=x";JavascriptExecutor js=(JavascriptExecutor)driver; js.executeScript(scroll);
  1. 操作文本
String text = "text"; //输入的内容String js = "var sum=document.getElementById('id'); sum.value='" + text + "';"; ((JavascriptExecutor)driver).executeScript(js); 
  1. 操作视频
JavascriptExecutor js=(JavascriptExecutor) driver; //获取视频urljs.executeScript("return arguments[0].currentSrc;",video);//播放视频js.executeScript("return arguments[0].play()", video); //暂停视频js.executeScript("arguments[0].pause()", video);
原创粉丝点击