click(selector[, options])
Warning
Use locator-based
locator.click([options])instead.
This method clicks on an element matching a selector.
| Parameter | Type | Default | Description | 
|---|---|---|---|
| selector | string | '' | A selector to search for an element. If there are multiple elements satisfying the selector, the first will be used. | 
| options | object | null | |
| options.button | string | left | The mouse button ( left,middleorright) to use during the action. | 
| options.clickCount | number | 1 | The number of times the action is performed. | 
| options.delay | number | 0 | Milliseconds to wait between mousedownandmouseup. | 
| options.force | boolean | false | Setting this to truewill bypass the actionability checks (visible,stable,enabled). | 
| options.modifiers | string[] | null | Alt,Control,MetaorShiftmodifiers keys pressed during the action. If not specified, currently pressed modifiers are used. | 
| options.noWaitAfter | boolean | false | If set to trueand a navigation occurs from performing this action, it will not wait for it to complete. | 
| options.position | object | null | A 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.x | number | 0 | The x coordinate. | 
| options.position.y | number | 0 | The y coordinate. | 
| options.strict | boolean | false | When 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.timeout | number | 30000 | Maximum time in milliseconds. Pass 0to disable the timeout. Default is overridden by thesetDefaultTimeoutoption on
BrowserContext or
Page. | 
| options.trial | boolean | false | Setting this to truewill perform the actionability checks without performing the action. Useful to wait until the element is ready for the action without performing it. | 
Returns
| Type | Description | 
|---|---|
| Promise<void> | A Promise that fulfills when the click action is finished. | 
Example
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/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.
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/');
  await Promise.all([page.waitForNavigation(), page.click('a[href="/my_messages.php"]')]);
}





