selenium 执行js代码
获取一个input输入框的值:
JavascriptExecutor js =(JavascriptExecutor) driver;
merchatName=js.executeScript("return arguments[0].value", m1.byId("subMerName")).toString();
在selenium里面也提供了执行js代码的方法:
Object executeScript(String script, Object... args);
Object executeAsyncScript(String script, Object... args)
1、executeScript方法接收两个参数和一个返回值:
script,javascript代码片段,这段js代码片段是作为js函数的完整方法体,可以使用return语句作为函数的返回值。
args, 参数数组,参数数组用于将外部数据传递给script(js代码片段),script中可以通过arguments[index]方式索引args数组中的参数;参数数据类型必须是以下几种(number, boolean, String, WebElement, 或者以上数据类型的List集合),当然无参数可以保留为空。
返回值,返回值是由js代码片段计算后通过return语句返回,返回值数据类型可以为(WebElement,Double,Long,Boolean,String,List或Map),没有return语句,这里返回数据为null。
2、executeAsyncScript方法接收两个参数和一个返回值:
script,javascript代码片段,这段js代码片段是作为js函数的完整方法体,与executeScript主要有两点不同:
a、此处的script必须在代码结束时明确调用callback方法以通知webdriver该script执行结束;该callback方法是由webdriver注入到arguments数组中最后一个元素;可以通过arguments[arguments.length-1]获取到,且可以使用该回调函数返回计算结果(只需要将放回结果作为回调函数的参数即可);
b、该script执行会有超时时间,默认为60s,超时时间内未调用callback方法,JavascriptExecutor会抛出Timeout异常。
args, 规则同executeScript。 返回值,规则同executeScript
转载自: https://blog.csdn.net/a578133380/article/details/80262681
selenium 执行js代码的更多相关文章
- selenium常用操作,查找元素,操作Cookie,获取截图,获取窗口信息,切换,执行js代码
目录: 1. 常用操作 2. 查找元素 3. 操作Cookie 4. 获取截图 5. 获取窗口信息 6. 切换 7. 执行JS代码 简介 selenium.webdriver.remote.webdr ...
- WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互
方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址 http://www.microsoft.com/downloads/details ...
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
HTML代码: <html> <head> <title>HTML中用JS调用OC方法</title> <meta http-equiv=&quo ...
- ASP.NET后台执行JS代码
1. 用Response.Write方法 代码如下:Response.Write("<script type='text/javascript'>alert("XXX& ...
- selenium执行js报错
selenium执行js报错 Traceback (most recent call last): dr.execute_script(js) File "C:\Python27\l ...
- 在Java中执行js代码
在某些特定场景下,我们需要用Java来执行Js代码(如模拟登录时,密码被JS加密了的情况),操作如下: ScriptEngineManager mgr = new ScriptEngineManage ...
- A标签执行js 代码和跳转
5.执行JS代码: <a href="javascript:js代码">内容</a> ⑥.使用js来实现空链接 写法:<a href="ja ...
- java中执行js代码
要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,否则会报错 先新建一个js文件:jsss.js 内容如下: function aa(a,b){ return ...
- 点击超链接执行js代码实现确认操作
如题,本次是要实现点击超链接实现执行js代码,并确认是否删除数据库数据,采用php. 首先链接数据库,查询数据库数据: 1: <?php 2: $dbms='mysql'; //数据库类型 ,对 ...
随机推荐
- 16. nested exception is com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "auditUnitName"
org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver:handleHttpMessageNotRead ...
- Building Applications with Force.com and VisualForce(Dev401)(十七):Data Management: Data management Tools
ev401-018:Data Management: Data management ToolsModule Objectives1.List objects exposed in the impor ...
- 关于STM32F103系列从大容量向中容量移植的若干问题
一.把STM32F103大容量移植到STM32F103C8T6上的步骤: 1.换启动文件 startup_stm32f10x_cl.s ——互联型的器件 包括:STM32F105x ...
- coding++:error 阿里云 Redis集群一直Waiting for the cluster to join....存在以下隐患
1):Redis集群一直Waiting for the cluster to join... 再次进行连接时首先需要以下操作 1.使用redis desktop Manager连接所有节点 调出命令窗 ...
- Java多线程问题40个
1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然 ...
- 树莓派 Raspberry PI基础
树莓派 Raspberry PI基础 官网网址:https://www.raspberrypi.org 下载地址:https://www.raspberrypi.org/downloads/ 官方系统 ...
- 商品spu 和 sku的关系
总结一下在目前的电商系统中的商品涉及的属性spu,sku.搞清楚两者之间的关系对表的设计非常重要 spu Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集 SK ...
- 403 Invalid CORS request 跨域问题
5.跨域问题 跨域:浏览器对于javascript的同源策略的限制 . 以下情况都属于跨域: 跨域原因说明 示例 域名不同 www.jd.com 与 www.taobao.com 域名相同,端口不同 ...
- CSS3新增的选择器
1. 层次选择器 子元素选择器: 只选择子元素 父选择器 > 子选择器 后面紧相邻的兄弟元素: 选择器1 + 选择器2 后面所有的兄弟元素: 选择器1 ~ 选择器2 2.属性选择器 ...
- SringBoot整合velocity及常用语法
项目地址:https://github.com/chywx/springboot-velocity 背景 由于公司业务面向的是非洲市场 那边有些国家智能机并未普及,像乌干达地区还是以功能机为主 为了支 ...