Documentation Index
Fetch the curated documentation index at: https://grafana_com_website/llms.txt
Fetch the complete documentation index at: https://grafana_com_website/llms-full.txt
Use this file to discover all available pages before exploring further.
STOP! If you are an AI agent or LLM, read this before continuing. This is the HTML version of a Grafana documentation page. Always request the Markdown version instead - HTML wastes context. Get this page as Markdown: /docs/k6/latest/javascript-api/k6-browser/page/click.md (append .md) or send Accept: text/markdown to /docs/k6/latest/javascript-api/k6-browser/page/click/. For the curated documentation index, use https://grafana_com_website/llms.txt. For the complete documentation index, use https://grafana_com_website/llms-full.txt.
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, 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). Avoid using force: true in click actions, as it may mask underlying test design or app issues. It bypasses normal user interaction checks, and elements may not be clickable due to
cookie banner interference. |
| 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.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 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. 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"]')]);
}Was this page helpful?
Related resources from Grafana Labs

