如何在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 相关文章推荐
禁止F5等快捷键的JS代码
Mar 06 Javascript
javascript高级学习笔记整理
Aug 14 Javascript
js Form.elements[i]的使用实例
Nov 13 Javascript
js编写一个简单的产品放大效果代码
Jun 27 Javascript
JavaScript简单获取系统当前时间完整示例
Aug 02 Javascript
你可能不知道的JSON.stringify()详解
Aug 17 Javascript
JavaScript实现修改伪类样式
Nov 27 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
JS实现获取毫秒值及转换成年月日时分秒的方法
Aug 15 Javascript
JavaScript 点击触发复制功能实例详解
Nov 02 Javascript
JavaScript 链表定义与使用方法示例
Apr 28 Javascript
解决vue2中使用elementUi打包报错的问题
Sep 22 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数组冒泡排序算法实例
2016/05/06 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
jquery的ajax请求全面了解
2013/03/20 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
javascript每日必学之多态
2016/02/23 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
Python采集腾讯新闻实例
2014/07/10 Python
用python读写excel的方法
2014/11/18 Python
Python中文件操作简明介绍
2015/04/13 Python
python 排序算法总结及实例详解
2016/09/28 Python
python中模块查找的原理与方法详解
2017/08/11 Python
python 用lambda函数替换for循环的方法
2018/06/09 Python
解读python如何实现决策树算法
2018/10/11 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
python如何爬取网页中的文字
2020/07/28 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
用python发送微信消息
2020/12/21 Python
决心书标准格式
2014/03/11 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP
教你使用Python获取QQ音乐某个歌手的歌单
2022/04/03 Python
PYTHON InceptionV3模型的复现详解
2022/05/06 Python