如何在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 相关文章推荐
DOMAssitant最新版 DOMAssistant 2.5发布
Dec 25 Javascript
各种效果的jquery ui(接口)介绍
Sep 17 Javascript
jValidate 基于jQuery的表单验证插件
Dec 12 Javascript
js弹出层之1:JQuery.Boxy (二)
Oct 06 Javascript
jquery退出each循环的写法
Feb 26 Javascript
JS解析XML文件和XML字符串详解
Apr 17 Javascript
easyui Droppable组件实现放置特效
Aug 19 Javascript
js中数组插入、删除元素操作的方法
Feb 15 Javascript
jquery仿苹果的时间/日期选择效果
Mar 08 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
Jan 23 Javascript
详解微信小程序动画Animation执行过程
Sep 23 Javascript
小程序自定义弹框效果
Nov 16 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
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
yii分页组件用法实例分析
2015/12/28 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
Bootstrap精简教程
2015/11/27 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
Python手机号码归属地查询代码
2016/05/04 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
PHP中如何创建和修改数组
2012/05/02 面试题
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
食品工程专业求职信
2014/06/15 职场文书
邓小平理论心得体会
2014/09/09 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
初中作文评语
2014/12/25 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers