Skip to main content
Version: Next

Page.click() method

This method fetches an element with selector, scrolls it into view if needed, and then uses Page.mouse to click in the center of the element. If there's no element matching selector, the method throws an error.

Signature:

class Page {
click(selector: string, options?: Readonly<ClickOptions>): Promise<void>;
}

Parameters

Parameter

Type

Description

selector

string

A selector to search for element to click. If there are multiple elements satisfying the selector, the first will be clicked

options

Readonly<ClickOptions>

(Optional) Object

Returns:

Promise<void>

Promise which resolves when the element matching selector is successfully clicked. The Promise will be rejected if there is no element matching selector.

Remarks

Bear in mind that if click() triggers a navigation event and there's a separate page.waitForNavigation() promise to be resolved, you may end up with a race condition that yields unexpected results. The correct pattern for click and wait for navigation is the following:

const [response] = await Promise.all([
page.waitForNavigation(waitOptions),
page.click(selector, clickOptions),
]);

Shortcut for page.mainFrame().click(selector[, options]).