Skip to main content
Version: Next

JSHandle.evaluate() method

This method passes this handle as the first argument to pageFunction. If pageFunction returns a Promise, then handle.evaluate would wait for the promise to resolve and return its value.

Signature:

class JSHandle {
evaluate<
Params extends unknown[],
Func extends EvaluateFunc<[this, ...Params]> = EvaluateFunc<
[this, ...Params]
>
>(
pageFunction: Func | string,
...args: Params
): Promise<Awaited<ReturnType<Func>>>;
}

Parameters

ParameterTypeDescription
pageFunctionFunc | string
argsParams

Returns:

Promise<Awaited<ReturnType<Func>>>

Example

const tweetHandle = await page.$('.tweet .retweets');
expect(await tweetHandle.evaluate(node => node.innerText)).toBe('10');