Menu

This is documentation for the next version of K6. For the latest stable release, go to the latest version.

Documentationbreadcrumb arrow Grafana k6breadcrumb arrow JavaScript APIbreadcrumb arrow k6/browserbreadcrumb arrow ElementHandlebreadcrumb arrow waitForSelector(selector[, options])
Open source

waitForSelector(selector[, options])

Warning

Use locator.waitFor([options]) instead.

Waits for the element to be present in the DOM and to be visible.

ParameterTypeDefaultDescription
selectorstringA selector to query the element.
optionsobjectnullOptional settings.
options.statestringvisibleThe state to wait for. This can be one of visible, hidden, stable, enabled, disabled, or editable.
options.strictbooleanfalseIf set to true, the method will throw an error if the element is not found.
options.timeoutnumber30000Maximum time in milliseconds. Pass 0 to disable the timeout. Default is overridden by the setDefaultTimeout option on BrowserContext or Page.

Returns

TypeDescription
Promise<ElementHandle | null>A Promise that fulfills with the ElementHandle when the element is found.

Example

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();
  await page.goto("https://test.k6.io");

  const element = await page.$(".header");
  const el = await element.waitForSelector(".title");
  // ... do something with the element

  await page.close();
}