魔术变量java_selenium的操作JS命令的接口JavascriptExecutor的介绍

本文详细介绍了Java Selenium中的JavascriptExecutor接口,该接口用于在Web驱动程序中执行JavaScript命令。主要内容包括执行异步和同步脚本的方法,以及如何处理JavaScript操作如窗口滚动条、特殊文本框等。同时,文章探讨了使用JavaScript操作可能遇到的问题,如跨域策略导致的执行失败,并建议通过浏览器控制台进行故障排查。此外,还展示了如何通过这个接口进行元素交互,如模拟点击事件。
摘要由CSDN通过智能技术生成

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模块和 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值