如何在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*****)));

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

相关文章

  • js瀑布流布局的实现

    js瀑布流布局的实现

    这篇文章主要为大家详细介绍了js瀑布流布局的实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • 详解bootstrap-fileinput文件上传控件的亲身实践

    详解bootstrap-fileinput文件上传控件的亲身实践

    这篇文章主要介绍了详解bootstrap-fileinput文件上传控件的亲身实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • JavaScript制作简单计算器功能

    JavaScript制作简单计算器功能

    这篇文章主要为大家详细介绍了JavaScript制作简单计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • js中的onchange和onpropertychange (onchange无效的解决方法)

    js中的onchange和onpropertychange (onchange无效的解决方法)

    这篇文章主要介绍了js中的onchange和onpropertychange (onchange无效的解决方法),需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03
  • JavaScript实现PC端横向轮播图

    JavaScript实现PC端横向轮播图

    这篇文章主要为大家详细介绍了JavaScript实现PC端横向轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • js计算两个时间之间天数差的实例代码

    js计算两个时间之间天数差的实例代码

    这篇文章主要介绍了js计算两个时间之间天数差的实例代码,有需要的朋友可以参考一下
    2013-11-11
  • 前端JS压缩图片的原理详解(附源码)

    前端JS压缩图片的原理详解(附源码)

    上传图片/视频/文件是我们经常会遇到的问题,但是一旦图片过大就会导致不好的操作体验,下面这篇文章主要给大家介绍了关于前端JS压缩图片原理及实现的相关资料,需要的朋友可以参考下
    2024-06-06
  • js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器

    js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器

    这篇文章主要介绍了js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器,通过自定义javascript函数audioplayer实现兼容各常见浏览器的音乐播放功能,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • js实现格式化金额,字符,时间的方法

    js实现格式化金额,字符,时间的方法

    这篇文章主要介绍了js实现格式化金额,字符,时间的方法,实例分析了javascript转换金额、字符、日期等的常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • js中的this的指向问题详解

    js中的this的指向问题详解

    这篇文章主要介绍了js中的this的指向问题以及相关知识点内容,需要的朋友们参考学习下。
    2019-08-08

最新评论