---
title: "frameLocator(selector) | Grafana k6 documentation"
description: "Browser module: locator.frameLocator(selector) method"
---

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

# frameLocator(selector)

Shorthand for `locator(selector).contentFrame()`. Returns a [FrameLocator](/docs/k6/next/javascript-api/k6-browser/framelocator/) for the iframe that matches the given `selector`. Use this to interact with elements inside iframes without calling `locator()` and `contentFrame()` separately.

Expand table

| Parameter | Type   | Description                                                                                            |
|-----------|--------|--------------------------------------------------------------------------------------------------------|
| selector  | string | A selector that resolves to an iframe element (for example `iframe#payment` or `iframe[name="form"]`). |

### Returns

Expand table

| Type                                                                  | Description                              |
|-----------------------------------------------------------------------|------------------------------------------|
| [FrameLocator](/docs/k6/next/javascript-api/k6-browser/framelocator/) | A `FrameLocator` for the matched iframe. |

### Example

JavaScript ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```javascript
import { browser } from 'k6/browser';

export const options = {
  scenarios: {
    browser: {
      executor: 'shared-iterations',
      options: {
        browser: {
          type: 'chromium',
        },
      },
    },
  },
};

export default async function () {
  const page = await browser.newPage();

  try {
    await page.setContent(`
      <div class="widget"><iframe id="my_frame" src="https://quickpizza.grafana.com"></iframe></div>
    `);

    // Shorthand: instead of page.locator('.widget').locator('#my_frame').contentFrame()
    const frame = page.locator('.widget').frameLocator('#my_frame');
    await frame.getByText('Pizza, Please!').click();
  } finally {
    await page.close();
  }
}
```
