如何在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 特殊字符串
Feb 25 Javascript
jquery实现按Enter键触发事件示例
Sep 10 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
Aug 15 Javascript
js怎么覆盖原有方法实现重写
Sep 04 Javascript
jquery实现文本框textarea自适应高度
Mar 09 Javascript
遍历json 对象的属性并且动态添加属性的实现
Dec 02 Javascript
手机软键盘弹出时影响布局的解决方法
Dec 15 Javascript
基于vue v-for 多层循环嵌套获取行数的方法
Sep 26 Javascript
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
vue中利用iscroll.js解决pc端滚动问题
Feb 15 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
Apr 22 Javascript
vue axios请求成功却进入catch的原因分析
Sep 08 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 的加密函数 md5,crypt,base64_encode 等使用介绍
2012/04/09 PHP
PHP读取文件并可支持远程文件的代码分享
2012/10/03 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
PHP asXML()函数讲解
2019/02/03 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
详解基于Node.js的HTTP/2 Server实践
2018/05/31 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
Python递归遍历列表及输出的实现方法
2015/05/19 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
wxpython绘制音频效果
2019/11/18 Python
几款好用的python工具库(小结)
2020/10/20 Python
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
Kipling澳洲官网:购买凯浦林包包
2020/12/17 全球购物
精细化工应届生求职信
2013/11/17 职场文书
商场中秋节广播稿
2014/01/17 职场文书
小学家长评语大全
2014/04/16 职场文书
煤矿安全保证书
2015/02/27 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫
springboot+zookeeper实现分布式锁
2022/03/21 Java/Android