46fc6ca41a
* feat(types): improve typing of `.evaluate()` This is the start of the work to take the types from the `@types/puppeteer` repository and port them into our repo so we can ship our built-in types out the box. This change types the `evaluate` function properly. It takes a generic type which is the type of the function you're passing, and the arguments and the return that you get back from the `evaluate` call are typed correctly.
1.1 KiB
1.1 KiB
Home > puppeteer > JSHandle > evaluate
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:
evaluate<T extends EvaluateFn>(pageFunction: T | string, ...args: SerializableOrJSHandle[]): Promise<EvaluateFnReturnType<T>>;
Parameters
Parameter | Type | Description |
---|---|---|
pageFunction | T | string | |
args | SerializableOrJSHandle[] |
Returns:
Promise<EvaluateFnReturnType<T>>
Example
const tweetHandle = await page.$('.tweet .retweets');
expect(await tweetHandle.evaluate(node => node.innerText)).toBe('10');