puppeteer/website/versioned_docs/version-16.1.0/api/puppeteer.frame.click.md
release-please[bot] 2d5f216621
chore(main): release 16.1.0 (#8743)
* chore(main): release 16.1.0

* chore: generate versioned docs

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2022-08-06 16:49:20 +02:00

1.8 KiB

sidebar_label
Frame.click

Frame.click() method

This method clicks the first element found that matches selector.

Signature:

class Frame {
  click(
    selector: string,
    options?: {
      delay?: number;
      button?: MouseButton;
      clickCount?: number;
    }
  ): Promise<void>;
}

Parameters

Parameter Type Description
selector string the selector to search for to click. If there are multiple elements, the first will be clicked.
options { delay?: number; button?: MouseButton; clickCount?: number; } (Optional)

Returns:

Promise<void>

Remarks

This method scrolls the element 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.

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),
  frame.click(selector, clickOptions),
]);