WEB端UI自动化测试(九)执行js脚本
client-combined-3.3.1-nodeps.jar
是selenium在java环境中使用的源代码,可以直接放在工程的lib库中引用,该jar包提供了executeScript方法让我们可以执行JS脚本。
public interface JavascriptExecutor { public transient abstract Object executeScript(String s, Object aobj[]); public transient abstract Object executeAsyncScript(String s, Object aobj[]); }
使用该方法的方式如下:
(JavascriptExecutor)driver.executeScript(String,Object);
比如:
一、页面滚动
//移动到窗口绝对位置坐标,如下移动到纵坐标1600像素位置 ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 1600)"); //移动到元素element对象的“顶端”与当前窗口的“顶部”对齐 ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", e); //定位到的元素的标题和浏览器顶部对齐,默认是true // ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(flase);", e); //false是元素下边框和视窗底部齐平
二、页面属性
有时候点击某个元素,会跳转到新的选项卡,导致元素定位不到,如果不想用切换Frame,可以修改前端JS属性
target="_blank",表示跳转到新的选项卡,用removeAttribute()把该属性删除,这样就在当前页面跳转了
((JavascriptExecutor) driver).executeScript("document.getElementsByName(\"ofsddzx_none_list_detail\").removeAttribute(\"target\"));
将某个元素设置为隐藏
((JavascriptExecutor) driver).executeScript("document.getElementsById("").type="hidden");

浙公网安备 33010602011771号