如何在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 相关文章推荐
关于 byval 与 byref 的区别分析总结
Oct 08 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
Feb 05 Javascript
在表单提交前进行验证的几种方式整理
Jul 31 Javascript
javascript监听鼠标滚轮事件浅析
Jun 05 Javascript
JS中自定义定时器让它在某一时刻执行
Sep 02 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
May 10 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
mpvue中使用flyjs全局拦截的实现代码
Sep 13 Javascript
cdn模式下vue的基本用法详解
Oct 07 Javascript
基于vue实现一个禅道主页拖拽效果
May 27 Javascript
Vue中keep-alive的两种应用方式
Jul 15 Javascript
react项目从新建到部署的实现示例
Feb 19 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树的代码,可以嵌套任意层
2006/10/09 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
php获得url参数中具有&的值的方法
2014/03/05 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
php实现的CSS更新类实例
2014/09/22 PHP
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
详解JavaScript正则表达式之分组匹配及反向引用
2016/03/09 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
Vue实现一个图片懒加载插件
2019/03/11 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
jQuery实现评论模块
2020/08/19 jQuery
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
初步解析Python中的yield函数的用法
2015/04/03 Python
python实现对一个完整url进行分割的方法
2015/04/29 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
Python扫描端口的实现
2021/01/25 Python
探究 canvas 绘图中撤销(undo)功能的实现方式详解
2018/05/17 HTML / CSS
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
数据库基础的一些面试题
2012/02/25 面试题
国际贸易专业推荐信
2013/11/15 职场文书
公司接待方案
2014/03/08 职场文书
关于环保的标语
2014/06/13 职场文书
大学生交通专业求职信
2014/09/01 职场文书
小学英语教学随笔
2015/08/14 职场文书
无故旷工检讨书
2015/08/15 职场文书
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫
SQLServer RANK() 排名函数的使用
2022/03/23 SQL Server
Elasticsearch 批量操作
2022/04/19 Python