如何在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使用prototype定义对象类型
Feb 07 Javascript
Prototype Hash对象 学习
Jul 19 Javascript
js过滤数组重复元素的方法
Sep 05 Javascript
js实现瀑布流的一种简单方法实例分享
Nov 04 Javascript
对之前写的jquery分页做下升级
Jun 19 Javascript
在Mac OS下使用Node.js的简单教程
Jun 24 Javascript
JavaScript入门基础
Aug 12 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
Oct 03 Javascript
微信小程序 获取相册照片实例详解
Nov 16 Javascript
JS正则表达式判断有效数实例代码
Mar 13 Javascript
使用SVG基本操作API的实例讲解
Sep 14 Javascript
详解vue移动端日期选择组件
Feb 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/07/13 PHP
js实时监听文本框状态的方法
2011/04/26 Javascript
关于js遍历表格的实例
2013/07/10 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
跟老齐学Python之从格式化表达式到方法
2014/09/28 Python
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
Linux面试题LINUX系统类
2014/11/19 面试题
趣味游戏活动方案
2014/02/07 职场文书
《赵州桥》教学反思
2014/02/17 职场文书
质量月活动策划方案
2014/03/10 职场文书
保护母亲河倡议书
2014/04/14 职场文书
小露珠教学反思
2014/04/30 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
员工自我工作评价
2015/03/06 职场文书
毕业典礼主持词
2015/06/29 职场文书
python中mongodb包操作数据库
2022/04/19 Python