如何在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中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
Jul 17 Javascript
js和jquery中循环的退出和继续学习记录
Sep 06 Javascript
深入理解javascript严格模式(Strict Mode)
Nov 28 Javascript
在父页面得到zTree已选中的节点的方法
Feb 12 Javascript
举例讲解JavaScript substring()的使用方法
Nov 09 Javascript
js 自带的 map() 方法全面了解
Aug 16 Javascript
JS基于递归实现倒计时效果的方法
Nov 26 Javascript
ThinkJS中如何使用MongoDB的CURD操作
Dec 13 Javascript
js的OOP继承实现(必看篇)
Feb 18 Javascript
原生JS仿QQ阅读点击展开、收起效果
Mar 08 Javascript
Vue.use源码分析
Apr 22 Javascript
纯JS实现简单的日历
Jun 26 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+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP getallheaders无法获取自定义头(headers)的问题
2016/03/23 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
javascript的数组和常用函数详解
2014/05/09 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
[02:10]探秘浦东源深体育馆 DOTA2 Supermajor不见不散
2018/05/17 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
pyqt4教程之widget使用示例分享
2014/03/07 Python
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
spyder常用快捷键(分享)
2017/07/19 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
乌克兰巴士票购买网站:inBus
2021/03/12 全球购物
大学同学聚会邀请函
2014/01/29 职场文书
高一学生评语大全
2014/04/25 职场文书
小学生倡议书范文
2014/05/13 职场文书
小学生作文批改评语
2014/12/25 职场文书
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL