如何在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 相关文章推荐
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
Jun 26 Javascript
用Javascript实现锚点(Anchor)间平滑跳转
Sep 08 Javascript
通过DOM脚本去设置样式信息
Sep 19 Javascript
javascript 星级评分效果(手写)
Dec 24 Javascript
JavaScript取得键盘按下方向键是哪个的方法
Aug 04 Javascript
javascript常用函数(1)
Nov 04 Javascript
使用jquery提交form表单并自定义action的方法
May 25 Javascript
JavaScript必知必会(九)function 说起 闭包问题
Jun 08 Javascript
关于Vue实现组件信息的缓存问题
Aug 23 Javascript
使用cookie绕过验证码登录的实现代码
Oct 12 Javascript
extract-text-webpack-plugin用法详解
Feb 14 Javascript
vue实现路由监听和参数监听
Oct 29 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
详细介绍:Apache+PHP+MySQL配置攻略
2006/09/05 PHP
最令PHP初学者们头痛的十四个问题
2007/01/15 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
smarty半小时快速上手入门教程
2014/10/27 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
2017/05/02 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
javascript中的原型链深入理解
2014/02/24 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
Python中字符串的格式化方法小结
2016/05/03 Python
用python爬取租房网站信息的代码
2018/12/14 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
为什么称python为胶水语言
2020/06/16 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
2014年开学第一课活动方案
2014/03/06 职场文书
财产保全担保书范文
2014/04/01 职场文书
上党课的心得体会
2014/09/02 职场文书
干部外出学习心得体会
2016/01/18 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
MySQL开启事务的方式
2021/06/26 MySQL