2020-06-04 14:56:45 +00:00
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home ](./index.md ) > [puppeteer ](./puppeteer.md ) > [JSHandle ](./puppeteer.jshandle.md ) > [evaluateHandle ](./puppeteer.jshandle.evaluatehandle.md )
## JSHandle.evaluateHandle() method
2020-06-22 15:21:57 +00:00
This method passes this handle as the first argument to `pageFunction` <!-- --> .
2020-06-04 14:56:45 +00:00
< b > Signature:< / b >
```typescript
evaluateHandle(pageFunction: Function | string, ...args: unknown[]): Promise< JSHandle > ;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| pageFunction | Function \| string | |
| args | unknown\[\] | |
< b > Returns:< / b >
Promise< [JSHandle](./puppeteer.jshandle.md)<!-- --> >
2020-06-22 15:21:57 +00:00
## Remarks
2020-06-25 14:49:35 +00:00
The only difference between `jsHandle.evaluate` and `jsHandle.evaluateHandle` is that `jsHandle.evaluateHandle` returns an in-page object (JSHandle).
2020-06-22 15:21:57 +00:00
2020-06-25 14:49:35 +00:00
If the function passed to `jsHandle.evaluateHandle` returns a Promise, then `evaluateHandle.evaluateHandle` waits for the promise to resolve and returns its value.
2020-06-22 15:21:57 +00:00
See [Page.evaluateHandle() ](./puppeteer.page.evaluatehandle.md ) for more details.