Menu
Open source

click(selector[, options])

Warning

Use locator-based locator.click([options]) instead.

This method clicks on an element matching a selector.

ParameterTypeDefaultDescription
selectorstring''A selector to search for an element. If there are multiple elements satisfying the selector, the first will be used.
optionsobjectnull
options.buttonstringleftThe mouse button (left, middle or right) to use during the action.
options.clickCountnumber1The number of times the action is performed.
options.delaynumber0Milliseconds to wait between mousedown and mouseup.
options.forcebooleanfalseSetting this to true will bypass the actionability checks (visible, stable, enabled).
options.modifiersstring[]nullAlt, Control, Meta or Shift modifiers keys pressed during the action. If not specified, currently pressed modifiers are used.
options.noWaitAfterbooleanfalseIf set to true and a navigation occurs from performing this action, it will not wait for it to complete.
options.positionobjectnullA point to use relative to the top left corner of the element. If not supplied, a visible point of the element is used.
options.position.xnumber0The x coordinate.
options.position.ynumber0The y coordinate.
options.strictbooleanfalseWhen true, the call requires selector to resolve to a single element. If given selector resolves to more than one element, the call throws an exception.
options.timeoutnumber30000Maximum time in milliseconds. Pass 0 to disable the timeout. Default is overridden by the setDefaultTimeout option on BrowserContext or Page.
options.trialbooleanfalseSetting this to true will perform the actionability checks without performing the action. Useful to wait until the element is ready for the action without performing it.

Returns

TypeDescription
Promise<void>An asynchronous operation that doesn’t return a value.

Example

JavaScript
import { browser } from 'k6/experimental/browser';

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

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

  await page.goto('https://test.k6.io/browser.php');
  await page.click('#counter-button');
}

When a click action results in a page navigation, remember to work with page.waitForNavigation() to properly handle the asynchronous operation.

JavaScript
import { browser } from 'k6/experimental/browser';

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

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

  await page.goto('https://test.k6.io/');

  await Promise.all([page.waitForNavigation(), page.click('a[href="/my_messages.php"]')]);
}