メインコンテンツへスキップ
バージョン: 22.5.0

ElementHandle.$$eval() メソッド

現在の要素内で、指定されたセレクターに一致する要素の配列に対して、指定された関数を実行します。

指定された関数がPromiseを返す場合、このメソッドはPromiseが解決するまで待機します。

シグネチャ:

class ElementHandle {
$$eval<
Selector extends string,
Params extends unknown[],
Func extends EvaluateFuncWith<
Array<NodeFor<Selector>>,
Params
> = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>,
>(
selector: Selector,
pageFunction: Func | string,
...args: Params
): Promise<Awaited<ReturnType<Func>>>;
}

パラメーター

パラメーター説明
selectorセレクタークエリ対象のセレクター。
pageFunctionFunc | string要素のページのコンテキストで評価される関数。指定されたセレクターに一致する要素の配列が、関数の最初の引数として渡されます。
argsParamspageFunction に渡す追加の引数。

戻り値

Promise<Awaited<ReturnType<Func>>>

関数の結果のPromise。

HTML

<div class="feed">
<div class="tweet">Hello!</div>
<div class="tweet">Hi!</div>
</div>

JavaScript

const feedHandle = await page.$('.feed');
expect(
await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText))
).toEqual(['Hello!', 'Hi!']);