学习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*****)));

最新文章

  1. java中servlet的各种路径
  2. 用java 代码下载Samba服务器上的文件到本地目录以及上传本地文件到Samba服务器
  3. httplib、urllib、urllib2的区别
  4. Storm中tuple的可靠性
  5. Core Canvas–Day1
  6. JQuery里属性赋值,取值prop()和attr()方法?
  7. 用Dart开发Android应用(sky应用)
  8. Ch02 从零开始实例学习3
  9. VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布(好像很不错,有六张插图说明)good
  10. ASP.NET 会话状态的模式
  11. HTTP学习(一)初识HTTP
  12. 2-用EasyNetQ连接RabbitMQ(黄亮翻译)
  13. [20190418]exclusive latch spin count.txt
  14. Linux二进制安装apache2.4.25
  15. helm-chart5,模板和访问文件
  16. Coursera Deep Learning 3 Structuring Machine Learning Projects, ML Strategy
  17. A1016. Phone Bills
  18. echarts 中文API
  19. vue 请求后台数据2(copy)
  20. BZOJ1226 SDOI2009学校食堂(状压dp)

热门文章

  1. VisualStudio2010配置使用Halcon
  2. scala语言yield配合for的用法实例
  3. 四、RabbitMQ Exchange类型
  4. django的orm介绍以及静态文件介绍
  5. 使用iframe的好处与坏处详细比拼
  6. Token最主要的作用.个人观点
  7. [洛谷P3366] [模板] 最小生成树
  8. 不同环境下的mvn运行指令
  9. Mysql简单总结
  10. python 初学者