如何在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的函数调用和构造函数调用
Nov 16 Javascript
js获取鼠标位置实例详解
Dec 09 Javascript
基于javascript实现简单计算器功能
Jan 03 Javascript
jQuery实现页面倒计时并刷新效果
Mar 13 Javascript
jQuery+PHP+Mysql实现抽奖程序
Apr 12 jQuery
理解 javascript 中的函数表达式与函数声明
Jul 07 Javascript
谈谈vue中mixin的一点理解
Dec 12 Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 Javascript
生产制造追溯系统之再说条码打印
Jun 03 Javascript
vue实现移动端省市区选择
Sep 27 Javascript
js实现前端界面导航栏下拉列表
Aug 27 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扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
2016/05/12 PHP
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
实例代码讲解jquery easyui动态tab页
2015/11/17 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
JavaScript find()方法及返回数据实例
2020/04/30 Javascript
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python tornado修改log输出方式
2019/11/18 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
Python如何telnet到网络设备
2021/02/18 Python
演讲稿开场白
2014/01/13 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
护士实习求职信
2014/06/22 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
体育个人工作总结
2015/02/09 职场文书
初中团委工作总结
2015/08/13 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript