Recommended Free Tools
page.locator(selector).click(options) accepts a LocatorClickOptions object. Its type is ClickOptions & ActionOptions: mouse settings such as click count and press duration are inherited through ClickOptions, while signal lets you abort the action. Locator readiness checks and timeouts are configured on the locator itself, not in the click options object.
What options does Puppeteer locator click accept?
The official API defines LocatorClickOptions as ClickOptions & ActionOptions. ClickOptions extends MouseClickOptions, so the accepted settings come from three layers:
- Mouse behavior:
countanddelay. - Click point and debugging:
offsetanddebugHighlight. - Cancellation:
signal, inherited fromActionOptions.
The options parameter is optional and readonly, and Locator.click() returns Promise<void>. See the LocatorClickOptions type reference and the documentation matching your installed Puppeteer version.
Mouse options: count and delay
| Option | Meaning | Default or unit |
|---|---|---|
count |
Number of clicks to perform. | Defaults to 1. |
delay |
Time between mouse press and release. | Milliseconds. |
For example, this requests two clicks, each with a 100-millisecond press-to-release delay:
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
await page.locator('button').click({ count: 2, delay: 100 });
These values control the mouse action. They do not configure how long Puppeteer waits for the element to become ready. Type details are in the MouseClickOptions reference.
Click point and debug highlighting
Set an offset
offset specifies a point relative to the top-left corner of the element’s border box. Use it when the center point is not the point your interaction needs. The option is an Offset; check the type reference for its exact shape in your installed version. It can be combined with other click options in the same object.
Use debugHighlight cautiously
debugHighlight is an experimental debugging feature. It inserts an element to highlight the click location for 10 seconds. Puppeteer cautions that it may not work on every page and that the highlight does not persist across navigation. Treat it as a temporary debugging aid, not a dependable production behavior. See ClickOptions.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Cancel a locator click with AbortSignal
The inherited signal option accepts an AbortSignal, allowing a locator action to be aborted. Create and pass a signal as part of the same options object:
const controller = new AbortController();
const clickPromise = page.locator('button').click({ signal: controller.signal });
// Call controller.abort() when your surrounding operation should cancel the action.
await clickPromise;
In real code, arrange for the abort to occur when appropriate; awaiting the promise as shown will otherwise wait for the click to settle. The option is documented under ActionOptions.
Readiness checks and timeout belong to the locator
Puppeteer’s locator interaction guide describes locator.click() as ensuring the element is in the viewport, waiting for visibility and enabled state, and waiting for a stable bounding box across two consecutive animation frames. If the action fails because the element is not ready, the locator operation is retried. These are locator behaviors, not fields you add to click(options).
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
You can deliberately change those waiting behaviors through locator methods. For example:
const locator = page.locator('button')
.setEnsureElementIsInTheViewport(false)
.setVisibility(null)
.setWaitForEnabled(false)
.setWaitForStableBoundingBox(false);
await locator.click();
This disables the listed checks; it is not a routine substitute for diagnosing why an element is not ready. The method names and behaviors are described in the Page interactions guide.
Set a locator action timeout
Use setTimeout(timeout) on the locator to set a total timeout for locator actions. It returns a cloned locator. The default comes from Page.getDefaultTimeout(), and passing 0 disables the timeout. Do not pass timeout as a click option.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
const locator = page.locator('button').setTimeout(5000);
await locator.click();
See the Locator class reference for locator configuration.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Locator.click() and Page.click() are different APIs
| API | Accepted options | Documented behavior |
|---|---|---|
locator.click(options?) |
LocatorClickOptions (ClickOptions & ActionOptions) |
Uses locator readiness behavior and retries when an action fails because the element is not ready. |
page.click(selector, options?) |
ClickOptions |
Scrolls the element into view if needed, clicks its center, and clicks the first match if multiple elements match. |
Do not assume options from one signature are accepted by the other. In particular, Page.click does not use the LocatorClickOptions alias, so check its own signature before trying to pass signal.
If a click triggers navigation, start waiting for navigation at the same time as the click to avoid a race:
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
await Promise.all([
page.waitForNavigation(),
page.click('a')
]);
The selector-based method and navigation guidance are documented in the Page.click reference.
Common mistakes and fixes
- Putting
timeoutin the click object: Configure the locator withsetTimeout(timeout)instead. - Assuming
delayis a wait for the element: It is the mouse press-to-release interval, in milliseconds. Configure locator readiness or timeout separately. - Expecting a double click from two separate calls: Use
{ count: 2 }when you intend a multi-click action. - Using a click offset as viewport coordinates: The offset is relative to the element’s border-box top-left.
- Relying on the debug highlight in production: It is experimental, temporary, and may not work on every page.
- Passing locator-only options to
Page.click: Check the method’s distinct options type rather than assuming both APIs accept the same object. - Clicking a locator that never becomes ready: Inspect visibility, enabled state, viewport placement, and bounding-box stability; alter the relevant checks only when intentionally changing locator behavior.
- Waiting for navigation after the click has already started: Start the navigation wait and click together with
Promise.all.
Version and type-checking note
The referenced official API pages cover Puppeteer versions 25.9.0 through 25.12.0, and individual pages do not all show the same version. The API may change. If TypeScript reports that an option is missing or has a different shape, use the documentation and typings for the Puppeteer version installed in your project rather than assuming the latest reference matches it.
Or skip the browser setup
If your goal is a screenshot rather than browser interaction, ScreenshotNeo offers a single GET request instead of configuring a Puppeteer browser. Its capture process accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before the shot; those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. ScreenshotNeo also has an MCP server with take_screenshot, get_page_info, and capture_pdf tools for AI agents.
cURL example (see the ScreenshotNeo API documentation):
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo’s Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Learn about ScreenshotNeo or sign up free.
Frequently Asked Questions
How do I double-click with Puppeteer Locator?
Pass { count: 2 } to locator.click().
Does Puppeteer Locator click wait for an element to be visible?
Yes. Locator click waits for visibility as part of its documented readiness behavior; the interaction guide also describes viewport, enabled-state, and bounding-box checks.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




