如何在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 设计模式 推荐
Oct 28 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
Jun 21 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
Jun 24 Javascript
js 获取input点选按钮的值的方法
Apr 14 Javascript
第二章之Bootstrap 页面排版样式
Apr 25 Javascript
分享12个非常实用的JavaScript小技巧
May 11 Javascript
jquery插件方式实现table查询功能的简单实例
Jun 06 Javascript
jQuery+koa2实现简单的Ajax请求的示例
Mar 06 jQuery
微信小程序使用npm支持踩坑
Nov 07 Javascript
javascript数据类型中的一些小知识点(推荐)
Apr 18 Javascript
vue-cli3 配置开发与测试环境详解
May 17 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
May 06 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
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
jquery 判断滚动条到达了底部和顶端的方法
2014/04/02 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
python 删除字符串中连续多个空格并保留一个的方法
2018/12/22 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
浅谈Python中的模块
2020/06/10 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
详解python 内存优化
2020/08/17 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
医学专业大学生求职的自我评价
2013/11/27 职场文书
考试作弊检讨书大全
2014/02/18 职场文书
大专学生求职信
2014/07/04 职场文书
升职自荐信怎么写
2015/03/05 职场文书