如何在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 相关文章推荐
基于jquery.Jcrop的头像编辑器
Mar 01 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
Apr 15 Javascript
如何改进javascript代码的性能
Apr 02 Javascript
jQuery 中的 DOM 操作
Apr 26 Javascript
javascript实现简单的on事件绑定
Aug 23 Javascript
用JS中split方法实现彩色文字背景效果实例
Aug 24 Javascript
js获取浏览器和屏幕的各种宽度高度
Feb 22 Javascript
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
layer.confirm取消按钮绑定事件的方法
Aug 17 Javascript
jquery登录的异步验证操作示例
May 09 jQuery
浅析TypeScript 命名空间
Mar 19 Javascript
JS XMLHttpRequest原理与使用方法深入详解
Apr 30 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 文件扩展名 获取函数
2009/06/03 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
PHP生成唯一订单号
2015/07/05 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
python 杀死自身进程的实现方法
2019/07/01 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
浅谈python出错时traceback的解读
2020/07/15 Python
python 绘制正态曲线的示例
2020/09/24 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
白酒市场开发计划书
2014/01/09 职场文书
自我鉴定书面格式
2014/01/13 职场文书
新三好学生主要事迹
2014/01/23 职场文书
怎样写离婚协议书
2014/09/10 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
学生病假条怎么写
2015/08/17 职场文书
如何把新闻人物写得立体、鲜活?
2019/08/14 职场文书