[Home](./index.md) > [puppeteer](./puppeteer.md) > [Frame](./puppeteer.frame.md) > [evaluate](./puppeteer.frame.evaluate.md) ## Frame.evaluate() method Signature: ```typescript evaluate(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise>>; ``` ## 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 | Returns: 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.