click([options])
Mouse click on the chosen element.
| Parameter | Type | Default | Description | 
|---|---|---|---|
| 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.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. | 
Returns
| Type | Description | 
|---|---|
| Promise<void> | A Promise that fulfills when the click action is finished. | 
Examples
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');
  const button = page.locator('#counter-button');
  await button.click();
}When a click action results in a page navigation, remember to work with Promise.all() and 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/');
  const messagesLink = page.locator('a[href="/my_messages.php"]');
  await Promise.all([page.waitForNavigation(), messagesLink.click()]);
}





