nterface JavascriptExecutor
接口 JS执行器
public interface JavascriptExecutor
表示可以执行JavaScript的驱动程序,提供对机制的访问。
由于跨域策略浏览器强制执行您的脚本执行可能会意外失败,没有足够的错误消息传递。
这在创建自己的XHR请求或尝试访问另一个帧时特别相关。
大多数情况下,排除故障时最好查看浏览器的控制台,排除故障后,在执行WebDriver请求.
两个方法
修饰符和类型 方法和描述
java.lang.Object executeAsyncScript(java.lang.String script, java.lang.Object... args)
在当前选定的框架或窗口的上下文中执行异步JavaScript。
java.lang.Object executeScript(java.lang.String script, java.lang.Object... args)
在当前选定的框架或窗口的上下文中执行JavaScript。
//方法详情
executeScrip(String script,Object args)
在当前选定的框架或窗口的上下文中执行JavaScript。
提供的脚本片段将作为匿名函数的主体执行。
在脚本中,使用文档来引用当前文档。
请注意,脚本完成执行后,局部变量将不可用,尽管全局变量将持续存在。
如果脚本具有返回值(即如果脚本包含返回语句),则将执行以下步骤:
对于HTML元素,此方法返回WebElement
对于小数,返回Double
对于非十进制数,返回Long
对于一个布尔值,返回一个布尔值
对于所有其他情况,返回一个String。
对于一个数组,返回一个List ,每个对象遵循上面的规则。 我们支持嵌套列表。
除非值为空或没有返回值,否则返回null
参数必须是数字,布尔值,String,WebElement或以上任何组合的列表。
如果参数不符合这些条件,将抛出异常。
这些参数将通过“参数”魔术变量提供给JavaScript,就像通过“Function.apply”调用函数一样
参数:
script - JavaScript执行的脚本字符串
args - 该脚本的参数, 可能是空的
返回值:
Boolean,Long,Double,String,List或WebElement之一, 或null。
java selenium webdriver处理JS操作窗口滚动条
未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...
巧妙利用selenium中的JS操作来处理特殊的文本框
在使用selenium对页面进行相关操作时,有时候会遇到以下三种情况: 1.日期框:无法直接输入文本,必须要选择某一天的日期并点击才会填入文本框: 2.检索框:可以直接输入文本,但必须要点击根据输入的 ...
selenium元素操作
1.文本框(text field or textarea) element.sendKeys("test");//在输入框中输入内容: element.clear(); //将输入 ...
第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS
第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 ...
Selenium+java - 操作滚动条
前言 在写脚本时,总会遇到一种情况,就是当滚动拉倒最下面了,表单或者下拉框.按钮这些元素未在当前页面展示,而webdriver提供的方法都是操作当前页面可见的元素,这时我们使用JavaScript操作 ...
Java&;Selenium自动化测试调用JS实现单击
Java&Selenium自动化测试调用JS实现单击 /* * the method of invoking js to do something * * @author davieyang ...
Node.js 命令行工具的编写
日常开发中,编写 Node.js 命令行工具来完成一些小任务是很常见的操作.其编写也不难,和日常编写 Node.js 代码并无二致. package.json 中的 bin 字段 一个 npm 模块, ...
selenium怎么操作web页面常见的元素
总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box ...
Selenium IDE 3.6 命令Command详解
学以致用,个人觉得要学老外的东西,最好的方法就是自己翻译一遍.因此准备把SIDE官网的一些文档,按工作所需做些翻译整理.本文是命令这一块的提纲,未全部完成,占坑中. Selenium IDE中的命令其 ...
随机推荐
一些asp.net使用
1.英文格式的日期转为中文格式 eg:string englishDate="03-04-2012"; string chineseDate=Regex.replace(engli ...
FPGA使用技巧
1 IOB 为了保证FPGA输入输出接口的时序,一般会要求将输入管脚首先打一拍再使用,输出接口也要打一拍再输出FPGA.将信号打一拍的方法是将信号通过一次寄存器,而且必须在IOB里面的寄存 ...
STL 全特化/偏特化
template class Compare { public: static bool isEqual(const T& lh,const T& rh) ...
使用ob缓存实现真静态
实现页面的真静态化可以通过php的ob缓存来实现: 1.ob缓存认识 Ob就是output_buffering:输出缓存. 如果ob(函数ob_start())缓存打开,则echo的数据首先放在ob缓 ...
Tomcat &;servlet字符集编码问题
1.字符编码的原由 1.1 request和response的默认编码是? 如果未指定字符编码,则Servlet规范要求使用ISO-8859-1的编码. HTTP消息正文(请求或响应)的字符编码在Co ...
Mac os 系统头像位置。
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
python json5
install pip install json5 test a.json: { 'a':'b', 'aa':['b1','b2']} =========================== impo ...
修改gcc/g++默认include路径
修改gcc/g++默认include路径 转自:http://www.network-theory.co.uk/docs/gccintro/gccintro_23.htmlhttp://ilewen. ...
JAVA本地调用(JNI- java调用c)
记录一下工作内容,对术语了解不多,暂且这样记着吧. java调用c 一.写jni的步骤如下: 1.创建java类,定义接口函数,使用native修饰: 2.将java类编译成class: 3.将cl ...
Python 标准库之 xml.etree.ElementTree
Python 标准库之 xml.etree.ElementTree Python中有多种xml处理API,常用的有xml.dom.*模块.xml.sax.*模块.xml.parser.expat模块和 ...