如何在selenium中使用js实现定位

 更新时间:2020年08月18日 10:41:14   作者:深藏blueblueblue  
这篇文章主要介绍了如何在selenium中使用js实现定位,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

学习selenium的时候经常用扫的定位方式WebDriver定位方式,但是一些Windows的窗口就无力了,这时候可以用js定位

使用js定位的时候是用DOM树定位方式

eg:

document.getElementById("su");

这里就可以看出来,和浏览器中的console控制台的定位方式一样样的——果然知识都是相通的

接下来就是正题:

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*****)));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • layui监听select变化,以及设置radio选中的方法

    layui监听select变化,以及设置radio选中的方法

    今天小编就为大家分享一篇layui监听select变化,以及设置radio选中的方法,具有好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JS获取当前使用的浏览器名字以及版本号实现方法

    JS获取当前使用的浏览器名字以及版本号实现方法

    下面小编就为大家带来一篇JS获取当前使用的浏览器名字以及版本号实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • javascript 弹出的窗口返回值给父窗口具体实现

    javascript 弹出的窗口返回值给父窗口具体实现

    这篇文章主要介绍了javascript 弹出的窗口返回值给父窗口具体实现,有需要的朋友可以参考一下
    2013-11-11
  • js实现input框文字动态变换显示效果

    js实现input框文字动态变换显示效果

    这篇文章主要介绍了js实现input框文字动态变换显示效果,涉及javascript随机字符串与中文的动态切换显示效果,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • 微信小程序搭建自己的Https服务器

    微信小程序搭建自己的Https服务器

    这篇文章主要介绍了微信小程序搭建Https服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • javascript+ajax实现产品页面加载信息

    javascript+ajax实现产品页面加载信息

    本文给大家分享的是使用javascript结合ajax实现产品页面无刷新加载信息的代码,非常的简单实用,有需要的小伙伴可以参考下。
    2015-07-07
  • JavaScript实现文件的拖拽上传功能

    JavaScript实现文件的拖拽上传功能

    文件上传,可以说是我们在项目中最常用的功能之一,文件上传一般有两种形式:点击上传和拖拽上传,而上传的内容,又大体包括:文件和文件夹,本文给大家介绍了JavaScript实现文件的拖拽上传功能的方法,需要的朋友可以参考下
    2024-02-02
  • 微信小程序日历插件代码实例

    微信小程序日历插件代码实例

    这篇文章主要介绍了微信小程序日历插件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 学习使用Bootstrap页面排版样式

    学习使用Bootstrap页面排版样式

    这篇文章主要教大家学习使用Bootstrap页面排版样式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • JavaScript是否可实现多线程  深入理解JavaScript定时机制

    JavaScript是否可实现多线程 深入理解JavaScript定时机制

    JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感,
    2009-12-12

最新评论