Open source

frameLocator(selector)

Returns a FrameLocator for the iframe that matches the given selector. Use this to interact with elements inside iframes without first resolving the iframe element or calling locator.contentFrame().

ParameterTypeDescription
selectorstringA selector that resolves to an iframe element (for example iframe#payment or iframe[name="form"]).

Returns

TypeDescription
FrameLocatorA FrameLocator for the matched iframe.

Example

JavaScript
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(`
      <iframe id="my_frame" src="https://quickpizza.grafana.com" width="50%" height="50%"></iframe>
    `);

    const frame = page.frameLocator('iframe#my_frame');
    await frame.getByText('Pizza, Please!').click();

    const noThanksBtn = frame.getByText('No thanks');
    await noThanksBtn.click();
  } finally {
    await page.close();
  }
}