メインコンテンツにスキップ

execute

指定された要素をスコープとして使用して、現在選択されているフレームのコンテキストで実行するために、JavaScriptのスニペットをページに注入します。要素スコープ上にあるため、WebdriverIOはスクリプトを実行する前に要素が存在するのを自動的に待機します。実行されたスクリプトは同期であるとみなされ、スクリプトを評価した結果がクライアントに返されます。

スクリプト引数は、関数本体の形式で実行するスクリプトを定義します。その関数によって返された値がクライアントに返されます。関数は、指定されたargs配列で呼び出され、指定された順序でargumentsオブジェクトを介して値にアクセスできます。

引数は、JSONプリミティブ、配列、またはJSONオブジェクトのいずれでも構いません。WebElement参照を定義するJSONオブジェクトは、対応するDOM要素に変換されます。同様に、スクリプト結果のWebElementsは、WebElement JSONオブジェクトとしてクライアントに返されます。

使用方法
$(selector).execute(script, arguments)
パラメータ
名前タイプ詳細
scriptString, Function実行するスクリプト。
arguments
任意
paramスクリプト引数
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