zoukankan      html  css  js  c++  java
  • selenium 执行js代码

    获取一个input输入框的值:

    1 JavascriptExecutor js =(JavascriptExecutor) driver;
    2 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

  • 相关阅读:
    【思维导图】渗透测试流程
    Imperva WAF使用笔记
    elk查询语法
    Linux入侵检测常用命令
    前端工作面试问题
    看看如何面试前端工程师:Github很重要
    编程面试的10大算法概念汇总
    菜鸟介绍达到什么样的标准才能是大公司要的前端
    开发资源总结 (持续整理中)
    超级全的前端学习资料
  • 原文地址:https://www.cnblogs.com/zddwork/p/11412237.html
Copyright © 2011-2022 走看看