如何在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 相关文章推荐
javascript 设置某DIV区域内的checkbox复选框
Nov 30 Javascript
JavaScript对象、属性、事件手册集合方便查询
Jul 04 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
Oct 31 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
Jun 27 Javascript
Ajax同步与异步传输的示例代码
Nov 21 Javascript
基于jquery实现简单的分页控件
Mar 17 Javascript
jQuery使用正则验证15/18身份证的方法示例
Apr 27 jQuery
基于angular实现三级联动的生日插件
May 12 Javascript
常见的浏览器Hack技巧整理
Jun 29 Javascript
通过示例彻底搞懂js闭包
Aug 10 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
Nov 14 Javascript
Django模板继承 extend标签实例代码详解
May 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
全国FM电台频率大全 - 23 四川省
2020/03/11 无线电
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
js解决movebox移动问题
2016/03/29 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
[02:03]DOTA2亚洲邀请赛 HGT战队出场宣传片
2015/02/07 DOTA
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
教你用Python写安卓游戏外挂
2018/01/11 Python
python实现随机梯度下降法
2020/03/24 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
国际象棋商店:The Chess Store
2018/07/09 全球购物
创建索引时需要注意的事项
2013/05/13 面试题
舞蹈教育学专业推荐信
2013/11/27 职场文书
一年级评语大全
2014/04/23 职场文书
高中生班主任评语
2014/04/25 职场文书
正科级干部考察材料
2014/05/29 职场文书
IT工程师岗位职责
2014/07/04 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android