跳至主要内容

execute

将一段 JavaScript 代码片段注入页面,以便在当前选定的框架上下文中执行,并使用给定的元素作为作用域,因为它位于元素作用域上,这意味着 WebdriverIO 将自动等待元素存在,然后执行脚本。假设执行的脚本是同步的,并且脚本评估的结果将返回给客户端。

脚本参数以函数体的形式定义要执行的脚本。该函数返回的值将返回给客户端。该函数将使用提供的 args 数组调用,并且可以通过 arguments 对象按指定顺序访问这些值。

参数可以是任何 JSON 原语、数组或 JSON 对象。定义 WebElement 引用的 JSON 对象将转换为相应的 DOM 元素。同样,脚本结果中的任何 WebElements 都将作为 WebElement JSON 对象返回给客户端。

用法
$(selector).execute(script, arguments)
参数
名称类型详情
script字符串函数要执行的脚本。
arguments
可选
参数脚本参数
示例
execute.js
it('should wait for the element to exist, then executes javascript on the page with the element as first argument', async () => {
const text = await $('div').execute((elem, a, b, c, d) => {
return elem.textContent + a + b + c + d
}, 1, 2, 3, 4);
// node.js context - client and console are available
console.log(text); // outputs "Hello World1234"
});

欢迎!我如何帮助您?

WebdriverIO AI Copilot