---
title: "waitForFunction(pageFunction, arg[, options]) | Grafana k6 documentation"
description: "Browser module: frame.waitForFunction(pageFunction, arg[, options]) method"
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# waitForFunction(pageFunction, arg\[, options])

Returns when the `pageFunction` returns a truthy value.

Expand table

| Parameter       | Type            | Default | Description                                                                                                                                                                                                                                                       |
|-----------------|-----------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| pageFunction    | function        |         | Function to be evaluated in the page context.                                                                                                                                                                                                                     |
| arg             | string          | `''`    | Optional argument to pass to `pageFunction`                                                                                                                                                                                                                       |
| options         | object          | `null`  |                                                                                                                                                                                                                                                                   |
| options.polling | number or `raf` | `raf`   | If `polling` is `'raf'`, then `pageFunction` is constantly executed in `requestAnimationFrame` callback. If `polling` is a number, then it is treated as an interval in milliseconds at which the function would be executed.                                     |
| options.timeout | number          | `30000` | Maximum time in milliseconds. Pass `0` to disable the timeout. Default is overridden by the `setDefaultTimeout` option on [BrowserContext](/docs/k6/latest/javascript-api/k6-browser/browsercontext/) or [Page](/docs/k6/latest/javascript-api/k6-browser/page/). |

### Returns

Expand table

| Type                                                                            | Description                                       |
|---------------------------------------------------------------------------------|---------------------------------------------------|
| Promise&lt; [JSHandle](/docs/k6/latest/javascript-api/k6-browser/jshandle/)&gt; | The `JSHandle` instance associated with the page. |
