• 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

  • 相关阅读:
    【java Itext Pdf】itext pdf隔行换色 itext5添加表格背景颜色
    linux常用安装
    linux 定时执行shell脚本
    Linux crontab定时任务案例
    Oracle 常用的几个命令
    RS报表中根据变量比较大小来判断颜色
    如何利用TYPE 实现列转行
    Linux crontab概念
    关于下拉框联动选择的做法
    Oracle 启动常见的疑难
  • 原文地址:https://www.cnblogs.com/zddwork/p/11412237.html
Copyright © 2020-2023  润新知