This is documentation for the next version of Grafana k6 documentation. For the latest stable release, go to the latest version.
click([options])
Warning
Use
locator.click([options])instead.
Mouse click on the chosen element.
| Parameter | Type | Default | Description |
|---|---|---|---|
| options | object | null | Optional parameters. |
| options.button | string | left | The mouse button (left, middle or right) 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 mousedown and mouseup. |
| options.force | boolean | false | Setting this to true will bypass the actionability checks (visible, stable, enabled). |
| options.modifiers | string[] | null | Alt, Control, Meta or Shift modifiers keys pressed during the action. If not specified, currently pressed modifiers are used. |
| options.noWaitAfter | boolean | false | If set to true and 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 0 to disable the timeout. Default is overridden by the setDefaultTimeout option on
BrowserContext or
Page. |
| options.trial | boolean | false | Setting this to true will 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 = await page.$('#counter-button');
await button.click();
await page.close();
}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 = await page.$('a[href="/my_messages.php"]');
await Promise.all([
page.waitForNavigation(),
messagesLink.click()
]);
await page.close();
}

