[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.