如何在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实例教程(19) 使用HoTMetal(2)
Dec 23 Javascript
用jquery ajax获取网站Alexa排名的代码
Dec 12 Javascript
基于jquery固定于顶部的导航响应浏览器滚动条事件
Nov 02 Javascript
JavaScript中的getTime()方法使用详解
Jun 10 Javascript
Vue.js每天必学之表单控件绑定
Sep 05 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
Feb 10 Javascript
原生js实现轮播图的示例代码
Feb 20 Javascript
JavaScript实现修改伪类样式
Nov 27 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
Jan 29 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
Apr 29 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 Vue.js
使用refresh_token实现无感刷新页面
Apr 26 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
我的论坛源代码(七)
2006/10/09 PHP
支持oicq头像的留言簿(二)
2006/10/09 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
Javascript中的this绑定介绍
2011/09/22 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
python处理xml文件的方法小结
2017/05/02 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
计算机操作自荐信
2013/12/07 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
2014年党员整改措施范文
2014/09/21 职场文书
给客户的感谢信
2015/01/21 职场文书
个人借条范本
2015/05/25 职场文书
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
Python序列化模块JSON与Pickle
2022/06/05 Python