6474edb9ba
This pulls in the types (based on the DefinitelyTyped repo) for `page.$eval` (and the `$eval` method on other classes). The `$eval` method is quite hard to type due to the way we wrap and unwrap ElementHandles that are passed to / returned from the `pageFunction` that users provide. Longer term we can improve the types by providing type overloads as DefinitelyTyped does but I've deferred that for now (see the `TODO` in the code for more details).
1.2 KiB
1.2 KiB
Home > puppeteer > JSHandle > evaluateHandle
JSHandle.evaluateHandle() method
This method passes this handle as the first argument to pageFunction
.
Signature:
evaluateHandle<HandleType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandleType>;
Parameters
Parameter | Type | Description |
---|---|---|
pageFunction | EvaluateHandleFn | |
args | SerializableOrJSHandle[] |
Returns:
Promise<HandleType>
Remarks
The only difference between jsHandle.evaluate
and jsHandle.evaluateHandle
is that jsHandle.evaluateHandle
returns an in-page object (JSHandle).
If the function passed to jsHandle.evaluateHandle
returns a Promise, then evaluateHandle.evaluateHandle
waits for the promise to resolve and returns its value.
See Page.evaluateHandle() for more details.