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

ElementHandle.$eval() メソッド

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

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

署名:

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

パラメーター

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

戻り値

Promise<Awaited<ReturnType<Func>>>

関数の結果の Promise。

const tweetHandle = await page.$('.tweet');
expect(await tweetHandle.$eval('.like', node => node.innerText)).toBe('100');
expect(await tweetHandle.$eval('.retweets', node => node.innerText)).toBe('10');