获取一个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代码的更多相关文章

  1. selenium常用操作,查找元素,操作Cookie,获取截图,获取窗口信息,切换,执行js代码

    目录: 1. 常用操作 2. 查找元素 3. 操作Cookie 4. 获取截图 5. 获取窗口信息 6. 切换 7. 执行JS代码 简介 selenium.webdriver.remote.webdr ...

  2. WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互

    方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址   http://www.microsoft.com/downloads/details ...

  3. UIWebView中Html中用JS调用OC方法及OC执行JS代码

    HTML代码: <html> <head> <title>HTML中用JS调用OC方法</title> <meta http-equiv=&quo ...

  4. ASP.NET后台执行JS代码

    1. 用Response.Write方法 代码如下:Response.Write("<script type='text/javascript'>alert("XXX& ...

  5. selenium执行js报错

    selenium执行js报错 Traceback (most recent call last):    dr.execute_script(js)  File "C:\Python27\l ...

  6. 在Java中执行js代码

    在某些特定场景下,我们需要用Java来执行Js代码(如模拟登录时,密码被JS加密了的情况),操作如下: ScriptEngineManager mgr = new ScriptEngineManage ...

  7. A标签执行js 代码和跳转

    5.执行JS代码: <a href="javascript:js代码">内容</a> ⑥.使用js来实现空链接 写法:<a href="ja ...

  8. java中执行js代码

    要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,否则会报错 先新建一个js文件:jsss.js 内容如下: function aa(a,b){ return ...

  9. 点击超链接执行js代码实现确认操作

    如题,本次是要实现点击超链接实现执行js代码,并确认是否删除数据库数据,采用php. 首先链接数据库,查询数据库数据: 1: <?php 2: $dbms='mysql'; //数据库类型 ,对 ...

随机推荐

  1. OpenCV-Python 特征匹配 + 单应性查找对象 | 四十五

    目标 在本章节中,我们将把calib3d模块中的特征匹配和findHomography混合在一起,以在复杂图像中找到已知对象. 基础 那么我们在上一环节上做了什么?我们使用了queryImage,找到 ...

  2. iOS 第三方库

    网络 AFNetworking HTTP网络库 Reachability 网络监测 UI.布局 Masonry AutoLayout SnapKit AutoLayout Swift TOWebVie ...

  3. 面试都在问的微服务、服务治理、RPC、下一代微服务框架... 一文带你彻底搞懂!

    文章每周持续更新,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 单体式应用程序 与微服务相对的另一个概念是传统的单体式应用程序( ...

  4. ASP.NET Core技术研究-探秘Host主机启动过程

    当我们将原有ASP.NET 应用程序升级迁移到ASP.NET Core之后,我们发现代码工程中多了两个类Program类和Startup类. 接下来我们详细探秘一下通用主机Host的启动过程. 一.P ...

  5. Linux 脏数据回刷参数与调优

    简介 我们知道,Linux用cache/buffer缓存数据,且有个回刷任务在适当时候把脏数据回刷到存储介质中.什么是适当的时候?换句话说,什么时候触发回刷?是脏数据达到多少阈值还是定时触发,或者两者 ...

  6. ServletConfig&ServletContext对比

    上下文初始化参数(ServletContext) Servlet初始化参数(ServletConfig) 部署描述文件 在<web-app>元素中,但是不在具体的<servlet&g ...

  7. Nginx知多少系列之(五)Linux下托管.NET Core项目

    目录 1.前言 2.安装 3.配置文件详解 4.Linux下托管.NET Core项目 5.Linux下.NET Core项目负载均衡 6.Linux下.NET Core项目Nginx+Keepali ...

  8. LeetCode#141-Linked List Cycle-环形链表

    一.题目 给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. 示例 1 ...

  9. Java中toString()与new String()

    Java中toString()与new String(): 1.错误演示: FileInputStream fileIn = new FileInputStream(filePath);byte[] ...

  10. scrapy中使用selenium来爬取页面

    scrapy中使用selenium来爬取页面 from selenium import webdriver from scrapy.http.response.html import HtmlResp ...