如何在selenium中使用js实现定位


Posted in Javascript onAugust 18, 2020

学习selenium的时候经常用扫的定位方式WebDriver定位方式,但是一些Windows的窗口就无力了,这时候可以用js定位

使用js定位的时候是用DOM树定位方式

eg:

document.getElementById("su");

这里就可以看出来,和浏览器中的console控制台的定位方式一样样的——果然知识都是相通的

如何在selenium中使用js实现定位

接下来就是正题:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery调用asp.net 页面后台的实现代码
Apr 27 Javascript
JS中window.open全屏命令解析及使用示例
Dec 11 Javascript
javascript判断office版本示例
Apr 11 Javascript
js判断浏览器类型为ie6时不执行
Jun 15 Javascript
Sort()函数的多种用法
Mar 20 Javascript
Jquery轮播效果实现过程解析
Mar 30 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
Jul 18 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
Jun 12 Javascript
浅谈ECMAScript6新特性之let、const
Aug 02 Javascript
vue动态路由配置及路由传参的方式
May 23 Javascript
基于游标的分页接口实现代码示例
Nov 12 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
Jul 18 Javascript
vue实现移动端input上传视频、音频
Aug 18 #Javascript
React冒泡和阻止冒泡的应用详解
Aug 18 #Javascript
JavaScript数组排序的六种常见算法总结
Aug 18 #Javascript
js实现简单扫雷
Nov 27 #Javascript
基于JavaScript实现大文件上传后端代码实例
Aug 18 #Javascript
javascript实现扫雷简易版
Aug 18 #Javascript
详解Vue的组件中data选项为什么必须是函数
Aug 17 #Javascript
You might like
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
php备份数据库类分享
2015/04/14 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
js实现适配移动端的拖动效果
2020/01/13 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
python的range和linspace使用详解
2019/11/27 Python
python str字符串转uuid实例
2020/03/03 Python
Bootstrap 学习分享
2012/11/12 HTML / CSS
你的自行车健身专家:FaFit24
2016/11/16 全球购物
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
.NET概念性的面试题
2012/02/29 面试题
模具毕业生推荐信
2014/02/15 职场文书
中秋寄语大全
2014/04/11 职场文书
社会实践活动总结报告
2014/04/29 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
经理岗位职责范本
2015/04/15 职场文书
公司联欢会主持词
2015/07/04 职场文书
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android