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*****)));
selenium中js定位的更多相关文章
- 【基础】selenium中元素定位的常用方法(三)
一.Selenium中元素定位共有八种 id name className tagName linkText partialLinkText xpath cssSelector 其中前六种都比较简单, ...
- 自动化测试基础篇--Selenium中JS处理浏览器弹窗
摘自https://www.cnblogs.com/sanzangTst/p/7692454.html 浏览器弹窗: 现在大多数网站都会使用自定义弹窗,使用Selenium自带的方法暂时处理不了,这时 ...
- 自动化测试基础篇--Selenium中JS处理滚动条
摘自https://www.cnblogs.com/sanzangTst/p/7692285.html 前言 什么是JS? JS就是JavaScript: JavaScript 是世界上最流行的脚本语 ...
- Selenium 中 cssSelector定位
一.为什么使用cssSelector定位元素? 目前针对一些常规定位方式有:By.id.By.name.By.LinkTest(针对<a>标签).By.ClassName 针对不太好定位的 ...
- selenium中用js定位html上没有id,没有name的元素
所测试的页面包含display:none的元素,所以考虑用js,在使用js的过程中,js要获得页面的对象,没有id,没有name ...... <a class="employer&q ...
- 『心善渊』Selenium3.0基础 — 6、Selenium中使用XPath定位元素
目录 1.Selenium中使用XPath查找元素 (1)XPath通过id,name,class属性定位 (2)XPath通过标签中的其他属性定位 (3)XPath层级定位 (4)XPath索引定位 ...
- 『心善渊』Selenium3.0基础 — 4、Selenium基础元素定位详解
目录 1.什么是元素定位 2.Selenium元素定位常用API (1)By_id 定位 (2)by_name 定位 (3)by_class_name 定位 (4)by_tag_name 定位 (5) ...
- selenium中定位iframe框
这是使用谷歌看到的源码.想要往里面输入内容,需要使用js. 这个iframe没有id,不能通过id直接定位到.但可以通用TagName来定位到iframe. WebDriver中定位的代码如下: St ...
- 【Python + Selenium】之JS定位总结
感谢:小琰子 Python+Selenium 脚本中的一些js的用法汇总: 1.滚动条 driver.set_window_size(500,500) js = "window.scroll ...
随机推荐
- Linux文件与目录管理,常用命令总结
绝对路径: 以根目录 / 开始的相对路径: 相对于当前路径的写法 $PATH: 可执行文件路径的变量(出现在该变量下的文件可以在系统的任何目录下都可以执行) 获取路径的文件名: basen ...
- verilog求倒数-ROM实现方法
采用线性逼近法结合32段线性查找表的方式来实现1/z的计算. 首先将1/32-1/64的定点化数据存放到ROM中,ROM中存放的是扩大了2^20 次方的数字四舍五入后的整数部分.n值越大,精度越大,误 ...
- windows下apache运行环境搭建
apache的安装 要求: 1,不要安装到有中文的目录中: 2,尽量将apache,php,mysql安装到一个总的目录,便于管理.(如都建立在amp目录下,然后在该目录下分别建立apache,php ...
- fiddler模拟返回响应数据
通过find查找修改指定内容 选择find a file 保存后重新发起请求
- 关于利用glassfish部署Java EE的firstcup-war时报错
在利用maven+glassfish打包部署Java EE的firstcup-war时报错 1.在利用glassfish部署firstcup-war.war文件时提示如下错误信息: 根据上面的错误提示 ...
- 二十一世纪计算 | John Hopcroft:AI革命
编者按:信息革命的浪潮浩浩汤汤,越来越多的人将注意力转向人工智能,想探索它对人类生产生活所产生的可能影响.人工智能的下一步发展将主要来自深度学习,在这个领域中,更多令人兴奋的话题在等待我们探讨:神经网 ...
- OpenCA搭建
前言: OpenCA是OpenCA开源组织使用Perl对OpenSSL进行二次开发而成的一套完善的PKI免费软件,主要由四部分组成:CA.RA.PUB和NODE.简而言之,PUB是对外提供服务的接口, ...
- 如何应对HR小姐姐的千年历史遗留问题:你为什么从上家公司离职?
最近找我询问面试问题的学生比较多,而且问的问题基本上都是课堂上讲过的,好吧,在此心疼自己三秒钟. 那么今天就为各位宝宝们整理一下,如何优雅的回复HR小姐姐的这个千年历史遗留问题:你为什么从上家公司离职 ...
- fastcgi_param详解
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#脚本文件请求的路径 fastcgi_param QUERY_STRI ...
- jquery.form.js笔记
由于项目的原因,需要异步上传文件,网上找了找,很多都是用jquery.form插件的,于是乎找资料,调代码,做点小笔记. 官方资料:http://www.malsup.com/jquery/form/ ...