selenium中js定位
2024-08-28 03:23:25
学习selenium的时候经常用扫的定位方式WebDriver定位方式,但是一些Windows的窗口就无力了,这时候可以用js定位
使用js定位的时候是用DOM树定位方式
eg:
document.getElementById("su");
这里就可以看出来,和浏览器中的console控制台的定位方式一样样的——果然知识都是相通的
接下来就是正题:
selenium中执行js脚本:
第一步首先强转成JavascriptExcetor:
JavaScriptExecutor js = (JavascriptExecutor) driver;
然后用此JavascriptExcetor对象调用js定位的方法
举例:
// 设置日期控件的读写属性
((JavascriptExecutor) driver).executeScript("document.getElementById(\"fromDate\").readOnly=false");
// 直接为日期控件强行赋值
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('fromDate').setAttribute('value','2013-06-21');");
// 富文本编辑框的处理
driver.switchTo().frame("ueditor_0");
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.body.innerHTML='ABCDEFG'");
//js模拟点击
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();",driver.findElement(By.id("su")));
//滚动条操作
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.documentElement.scrollTop=1500");
//元素赋值
document.getElementById('HD_CheckIn').value='zhangsan';
//日期类型元素赋值
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0] .value=‘2016-04-20’;",driver.findElement(By*****)));
最新文章
- java中servlet的各种路径
- 用java 代码下载Samba服务器上的文件到本地目录以及上传本地文件到Samba服务器
- httplib、urllib、urllib2的区别
- Storm中tuple的可靠性
- Core Canvas–Day1
- JQuery里属性赋值,取值prop()和attr()方法?
- 用Dart开发Android应用(sky应用)
- Ch02 从零开始实例学习3
- VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布(好像很不错,有六张插图说明)good
- ASP.NET 会话状态的模式
- HTTP学习(一)初识HTTP
- 2-用EasyNetQ连接RabbitMQ(黄亮翻译)
- [20190418]exclusive latch spin count.txt
- Linux二进制安装apache2.4.25
- helm-chart5,模板和访问文件
- Coursera Deep Learning 3 Structuring Machine Learning Projects, ML Strategy
- A1016. Phone Bills
- echarts 中文API
- vue 请求后台数据2(copy)
- BZOJ1226 SDOI2009学校食堂(状压dp)