puppeteer/website/versioned_docs/version-15.3.1/api/puppeteer.page.click.md
release-please[bot] ec8c750383
chore(main): release 15.3.1 (#8635)
* chore(main): release 15.3.1

* chore: generate versioned docs

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2022-07-06 09:24:46 +02:00

2.2 KiB

sidebar_label
Page.click

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?: {
      delay?: number;
      button?: MouseButton;
      clickCount?: number;
    }
  ): 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 { delay?: number; button?: MouseButton; clickCount?: number; } (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]).