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>>>;
}
パラメーター
パラメーター | 型 | 説明 |
---|---|---|
selector | Selector | クエリするセレクター。 |
pageFunction | Func | string | この要素のページのコンテキストで評価される関数。セレクターに一致する最初の要素が最初の引数として渡されます。 |
args | Params | pageFunction に渡す追加の引数。 |
戻り値
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');