js页面初始化方法只调用一次_selenium操作详解之JavaScript的调用

d3fa9f20e17735004cef2c494227723d.png

在web自动化操作页面的时候,有些特殊的情况selenium的api无法完成,需要通过执行一段js来实现的DOM操作;

//执行方式

JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;

jsExecutor.executeScript(“js代码”);

例如:

1.时间插件限制手动输入的情况下,sendkeys无法写入数据,需要执行js来移除readonly属性!

2.有些页面元素需要拉动滚动条才能获取到(因为拉取滚动条才加载),而selenium和webdriver都没有提供操作滚动条的方法,只能借助js来完成!

//执行方式

JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;

String js = “document.body.scrollTop=200”;

jsExecutor.executeScript(js);//执行js

实现滚动条匀速向下滚动代码如下:

public static void main(String[] args) {

// TODO Auto-generated method stub

System.setProperty("webdriver.chrome.driver", ".\\target\\chromedriver.exe");

// 声明ChromeOptions类的对象option  

ChromeDriver driver = new ChromeDriver();   //初始化谷歌浏览器实例,并打开浏览器

try {

driver.get("http://www.baidu.com"); //打开一个网址

driver.manage().window().maximize();  //最大化窗口

Thread.sleep(1000);

System.out.println("当前打开页面的标题是:"+driver.getTitle());//打印标题

System.out.println("当前页面的网址是:"+driver.getCurrentUrl());//打印当前网址

Thread.sleep(3000); //等待时间

JavascriptExecutor js = (JavascriptExecutor) driver; //声明一个JS执行器

String title = (String) js.executeScript("return document.title");//调用执行器的executeScript方法执行js脚本

System.out.println(title);//打印的是当前浏览器的title值

Thread.sleep(2000);

}catch (Exception e) {

e.printStackTrace();

}finally {

driver.quit();

}

}

5c3c039424cb76505e34a90919c99659.gif

●selenium操作详解之鼠标键盘事件

●名师讲堂专栏

●软件测试“师徒制”,开启培训新纪元

●织雀教育响应国家政策,解决退伍军人就业难题

e85a367b86fe537cb643b2dde348d4ff.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值