<!-- Do not edit this file. It is automatically generated by API Documenter. --> [Home](./index.md) > [puppeteer](./puppeteer.md) > [Frame](./puppeteer.frame.md) > [evaluate](./puppeteer.frame.evaluate.md) ## Frame.evaluate() method <b>Signature:</b> ```typescript evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>>; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | pageFunction | T | a function that is run within the frame | | args | [SerializableOrJSHandle](./puppeteer.serializableorjshandle.md)\[\] | arguments to be passed to the pageFunction | <b>Returns:</b> Promise<[UnwrapPromiseLike](./puppeteer.unwrappromiselike.md)<[EvaluateFnReturnType](./puppeteer.evaluatefnreturntype.md)<T>>> ## Remarks This method behaves identically to [Page.evaluate()](./puppeteer.page.evaluate.md) except it's run within the context of the `frame`, rather than the entire page.