--- sidebar_label: 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:** ```typescript class JSHandle {evaluate = EvaluateFunc<[ this, ...Params ]>>(pageFunction: Func | string, ...args: Params): Promise>>;} ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | pageFunction | Func \| string | | | args | Params | | **Returns:** Promise<Awaited<ReturnType<Func>>> ## Example ```ts const tweetHandle = await page.$('.tweet .retweets'); expect(await tweetHandle.evaluate(node => node.innerText)).toBe('10'); ```