Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallUse page.mouse.click(x, y, options) when you need to click a specific viewport coordinate; use a locator for ordinary element interaction, because Puppeteer’s locator waits for the target to be ready. Mouse clicks accept a button, click count, and press duration. Selector-based page.click() also supports an element-relative offset and an experimental visual highlight.
Mouse click options and defaults
In the Puppeteer 25.12.0 API reference, MouseClickOptions extends MouseOptions. The button option is inherited; count defaults to one. The reference does not state a default for delay. See the live MouseClickOptions, MouseOptions, and MouseButton API references for version-specific details.
| Option | Meaning | Default or valid values | When to use it |
|---|---|---|---|
button |
Which mouse button to press. | Defaults to 'left'. Valid values: 'left', 'right', 'middle', 'back', 'forward'. |
Choose another button when testing page behavior for that button, such as a context-menu interaction. |
count |
Number of clicks to perform. | Defaults to 1. |
Set a value above one to test multi-click behavior. |
delay |
Time in milliseconds between mouse press and release. | The API reference does not state a default. | Set a press duration when the interaction depends on how long the button remains down. |
For example, a right-click at viewport coordinate (240, 180) is await page.mouse.click(240, 180, { button: 'right' });. A double-click is await page.mouse.click(240, 180, { count: 2 });. Combine options in the same object when needed, such as { button: 'left', count: 2, delay: 100 }.
Coordinate clicks versus selector clicks
page.mouse.click(x, y, options): click a position
This is the lower-level, coordinate-based API. Coordinates are CSS pixels relative to the top-left of the main-frame viewport, not document coordinates. Puppeteer implements the shortcut by moving the mouse, pressing the button, and releasing it. Use it when the exact pointer position matters or when the target is not best described by an element selector. See Mouse.click.
#1 Best Overall
- Compact Mouse: With a comfortable and contoured shape, this Logitech ambidextrous wireless mouse feels great in either right or left hand and is far superior to a touchpad
- Durable and Reliable: This USB wireless mouse features a line-by-line scroll wheel, up to 1 year of battery life (2) thanks to a smart sleep mode function, and comes with the included AA battery
- Universal Compatibility: Your Logitech mouse works with your Windows PC, Mac, or laptop, so no matter what type of computer you own today or buy tomorrow your mouse will be compatible
- Plug and Play Simplicity: Just plug in the tiny nano USB receiver and start working in seconds with a strong, reliable connection to your wireless computer mouse up to 33 feet / 10 m (5)
- Better than touchpad: Get more done by adding M185 to your laptop; according to a recent study, laptop users who chose this mouse over a touchpad were 50% more productive (3) and worked 30% faster (4)
await page.mouse.click(240, 180, {
button: 'left',
count: 1,
delay: 100,
});
page.click(selector, options): click a matched element
The documented selector-based API scrolls the matching element into view if needed, then clicks its center using the page mouse. It throws if no element matches and clicks the first match if multiple elements match. Make selectors specific if duplicates could lead to the wrong target. See Page.click.
page.click() accepts the inherited button, count, and delay settings, plus these ClickOptions fields:
Rank #2
- The next-generation optical HERO sensor delivers incredible performance and up to 10x the power efficiency over previous generations, with 400 IPS precision and up to 12,000 DPI sensitivity
- Ultra-fast LIGHTSPEED wireless technology gives you a lag-free gaming experience, delivering incredible responsiveness and reliability with 1 ms report rate for competition-level performance
- G305 wireless mouse boasts an incredible 250 hours of continuous gameplay on just 1 AA battery; switch to Endurance mode via Logitech G HUB software and extend battery life up to 9 months
- Wireless does not have to mean heavy, G305 lightweight mouse provides high maneuverability coming in at only 3.4 oz thanks to efficient lightweight mechanical design and ultra-efficient battery usage
- The durable, compact design with built-in nano receiver storage makes G305 not just a great portable desktop mouse, but also a great laptop travel companion, use with a gaming laptop and play anywhere
offsettargets a point relative to the top-left of the element’s border box, instead of its center.debugHighlightis experimental: it inserts a page element that highlights the click location for 10 seconds. It may not work on every page and does not persist across navigation.
Those two fields belong to selector-based ClickOptions; they are not options for page.mouse.click(x, y, options). See ClickOptions.
Use locators for routine element interaction
Puppeteer’s current guide recommends locators for ordinary element clicks. Locator clicks automatically check that the element is in the viewport, visible, enabled, and stable across two animation frames before interacting. This helps avoid clicking too early or at a stale position. Use the lower-level mouse or selector APIs when their more direct control is necessary. The page interactions guide describes locator behavior.
Rank #3
- Your hand can relax in comfort hour after hour with this ergonomically designed mouse. Its contoured shape with soft rubber grips, gently curved sides and broad palm area give you the support you need for effortless control all day long.
- You’ve got the control to do more, faster. Flipping through photo albums and Web pages is a breeze, especially for right-handers—with three standard buttons plus Back/Forward buttons that you can also program to switch applications, go full screen and more. And side-to-side scrolling plus zoom gives you the power to scroll horizontally and vertically through your music library, maps and Facebook feeds, and zoom in and out of photos and budget spreadsheets with a click.* * Requires Logitech SetPoint software (Windows) or Logitech Control Center software (Mac OS X)
- Two years of battery life practically eliminates the need to replace batteries. ** The On/Off switch helps conserve power, smart sleep mode extends battery life and an indicator light eliminates surprises. ** Battery life may vary based on user and computing conditions.
- The tiny Logitech Unifying receiver stays in your laptop. There’s no need to unplug it when you move around, so there’s less worry of it being lost. And you can easily add compatible wireless mice and keyboards to the same wireless receiver.
Wait safely when a click navigates
If clicking a link or button triggers navigation, begin waiting before the click completes. Await both operations together so the navigation does not finish before Puppeteer starts listening:
const [response] = await Promise.all([
page.waitForNavigation(waitOptions),
page.click(selector, clickOptions),
]);
Choose waitOptions and clickOptions for the page and interaction; the example leaves them configurable rather than assuming a navigation condition. The waitForNavigation reference warns that calling the wait separately can create a race.
Rank #4
- Pair and Play: With fast, easy Bluetooth wireless technology, you’re connected in seconds to this quiet cordless mouse —no dongle or port required
- Less Noise, More Focus: Silent mouse with 90% reduced click sound and the same click feel, eliminating noise and distractions for you and others around you (1)
- Long-Lasting Battery Life: Up to 18-month battery life with an energy-efficient auto sleep feature, so you can go longer between battery changes (2)
- Comfortable, Travel-Friendly Design: Small enough to toss in a bag; this slim and ambidextrous portable compact mouse guides either your right or left hand into a natural position
- Long-Range: Reliable, long-range Bluetooth wireless mouse works up to 10m/33 feet away from your computer (3)
Limits and common click failures
- Click lands in the wrong place:
page.mouse.clickuses viewport-relative main-frame CSS pixels. Check the viewport dimensions and target position; do not treat its coordinates as page offsets. - Selector click fails: confirm the selector matches an element. If it matches several, narrow it so the first match is the intended one.
- Element click is flaky: for normal page elements, prefer a locator so Puppeteer waits for visibility, enabled state, viewport presence, and a stable bounding box. If navigation follows, use the concurrent wait-and-click pattern above.
- Highlight is missing:
debugHighlightis experimental, may not work on all pages, and disappears on navigation.
Mouse input is not a full simulation of a physical user. Puppeteer documents that page.mouse dispatches synthetic MouseEvents; dragging and selecting text are not possible with this API. For text selection, the Mouse class reference points to DOM selection APIs. See Mouse.
Or skip the browser setup
If the task is to capture a page rather than automate a click, ScreenshotNeo takes a screenshot with one GET request. Its API accepts a URL and returns an image or PDF. For example, this cURL request saves a WebP screenshot:
Recommended Free Tools
Best Value
- Smooth, precise and affordable wireless optical 3-button mouse with USB nano receiver for laptop, desktop and netbook PCs
- 2.4 GHz wireless (not Bluetooth) provides a powerful, reliable connection
- Nano-receiver stays in the PC USB port or stows conveniently inside the wireless mouse when not in use (note: Receiver is stored within the mouse from production and needs to be removed upon setup)
- Compatible with Windows 2000, XP, Vista, 7, 8, and 10
- Easy installation - refer to user manual for instructions
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for request options. Cookie banners are accepted and removed before capture, along with known consent platforms, newsletter popups, and chat widgets; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. ScreenshotNeo also offers an MCP server with tools for AI agents to take screenshots, get page information, and capture PDFs. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Sign up for ScreenshotNeo’s free plan.
Frequently Asked Questions
Can I use page.mouse.click() to select text or drag?
No. Puppeteer documents that its mouse API cannot drag or select text; use DOM selection APIs for text selection.
Does page.click() always click the only matching element?
It clicks the first match when a selector matches multiple elements, so use a more specific selector when necessary.
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.




