Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteSome links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
To capture one element with the Chrome DevTools Protocol (CDP), first find the element and its bounds, then pass those bounds as the clip rectangle to Page.captureScreenshot. CDP does not take a CSS selector as the screenshot target: the selector-to-rectangle step is yours to implement. For a one-off capture, Chrome DevTools’ built-in Capture node screenshot command is simpler.
Choose between a one-off capture and automation
Use the built-in DevTools command when you need one image and can select the element interactively. Use CDP when you need a repeatable process, control over capture settings, or screenshots produced by a script. The automated route involves resolving a page or frame, finding a node, reading its geometry, capturing a rectangle, and decoding the returned image data.
| Approach | Best for | What you do |
|---|---|---|
| Capture node screenshot | A one-off manual capture | Select the element in DevTools and run the command; Chrome downloads the image. |
| CDP | Repeated or scripted captures | Find the node, calculate its bounds, call Page.captureScreenshot, and save the decoded response. |
Chrome documents the manual command in its node screenshot workflow. The protocol references are the live Page and DOM specifications and the Runtime reference. The Page and DOM links point to tip-of-tree documentation, which can change; check the protocol supported by the Chrome build you will run.
Capture a node manually in Chrome DevTools
- Open the page in Chrome and open DevTools.
- In Elements, select the element you want. You can inspect it on the page or use the DOM tree to locate it.
- Open the Command Menu, type
node, and choose Capture node screenshot. - Find the downloaded image in your browser’s downloads.
This captures the selected node without requiring you to build a CDP client. For a direct protocol command from DevTools, enable and open Protocol Monitor, select the target, and send a CDP method with its JSON arguments. Chrome’s Protocol Monitor guide describes the panel and command workflow. A screenshot request can use the form {"cmd":"Page.captureScreenshot","args":{"format":"jpeg"}}; for an element-sized image, include a clip object with the rectangle for that element.
#1 Best Overall
- CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
- WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
- A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents
Automate an element screenshot with CDP
The core command is Page.captureScreenshot. Its clip parameter describes a rectangular region, not a DOM node or selector. The response contains image data encoded as base64. Your client must decode that value and write the resulting bytes to a file.
1. Select the right page and execution context
Before querying, decide which page or frame contains the target. In the main document, a page expression such as document.querySelector('.target') finds the first matching element. If the selector has no match, stop and report that clearly rather than trying to capture an empty or unrelated region. If the target is in an iframe, run the query in that frame’s execution context; a query in the top document will not find nodes inside a child frame.
Runtime.evaluate evaluates an expression in the inspected page context by default. Depending on the client’s API, you may need to retain an object reference from the evaluation and obtain a DOM node ID before calling DOM methods. Node IDs, object IDs, and execution-context selection are represented differently by CDP clients, so follow the particular client’s documentation rather than assuming one universal call signature. See the Runtime reference.
Rank #2
- CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
- SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
2. Read the bounds you intend to capture
Use DOM.getBoxModel for a node’s box model or evaluate a suitable client rectangle in page JavaScript. The box model includes content and border boxes. Choose deliberately: the border box is a practical default when you want the element’s outside edge, while the content box omits padding and border. Do not treat the method’s returned geometry as a CSS-selector screenshot feature; you are still turning the returned bounds into a rectangle. The DOM protocol reference documents the available boxes and dimensions.
3. Build the clip and capture
Pass x, y, width, and height in the clip object, along with the intended scale. CDP describes clip coordinates in device-independent pixels. A conceptual request looks like this:
{"cmd":"Page.captureScreenshot","args":{"format":"png","clip":{"x":120,"y":80,"width":420,"height":160,"scale":1}}}
The numbers above are just an example rectangle; replace them with the bounds for your target. In a client, send the equivalent Page.captureScreenshot method call and read its returned data field. Choose a supported image format—png, jpeg, or webp—then base64-decode data and write those bytes using the file APIs of your language. The protocol returns encoded image data; it does not specify a destination path or implement file writing for you. The method is documented in the Page protocol reference.
Rank #3
- Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
- Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
- Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
- In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
- Ultra-thin bezels: Maximize your viewing experience with thin bezels.
4. Treat the command sequence as client-specific
A complete automated flow is: resolve the target context, find the node, request its box model, calculate the rectangle from the actual returned coordinates, call the screenshot method, decode the response, and save it. The CDP protocol defines the methods and data, but clients differ in how they expose sessions, node identifiers, returned box quads, and binary output. Confirm the request and response shapes in your client and against the Chrome protocol version you are using. Do not copy a symbolic example such as bounds.left unless that property actually exists in your client’s result.
Coordinates, visibility, and capture scale
Geometry is the part most likely to make an otherwise valid capture look wrong. The clip uses a rectangle, and the protocol describes its coordinates in device-independent pixels. The geometry you obtain from the DOM must map correctly to the screenshot clip in the target browser state.
- Offscreen elements: Do not assume that passing document coordinates captures content outside the current viewport. The current tip-of-tree Page schema documents
captureBeyondViewportas defaulting tofalse. Consider scrolling the target into view before measuring it, then verify the behavior in the Chrome version you run. - Transforms and sticky positioning: CSS transforms and sticky elements can make an element’s visual position differ from a naïve expectation based on document layout. Measure after the page reaches the state you intend to capture.
- Frames: Query the correct frame and account for how its geometry relates to the screenshot target. Do not assume coordinates from a child frame can be used unchanged as top-page coordinates.
- Zoom and device emulation: Emulated viewport settings and device scale can affect the relationship between measured bounds and output pixels. Confirm the coordinate mapping rather than blindly multiplying by a device scale factor.
- Element extent: A border box includes border; a content box does not. Select the box that matches the image you want, and inspect the resulting file if the edge is important.
These are reasons to validate the coordinate mapping in the actual browser and emulation configuration, not evidence that every Chrome version behaves identically. The protocol references describe the parameters, but do not establish the same result for every combination of frames, transforms, emulation, and offscreen content.
Rank #4
- CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
- SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
- MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
- KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
- INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient
Use Protocol Monitor to try the CDP command
Protocol Monitor provides a useful bridge between the manual command and a custom client: it lets you issue protocol methods from DevTools without writing the transport layer. After you know the rectangle, enter Page.captureScreenshot with a clip object containing the real values. The response includes the base64 image string; decode it if you need a local file. Chrome’s Protocol Monitor guide explains how to enable and use the panel.
For a repeatable program, move the same sequence into a CDP client: query a selector in the correct context, obtain geometry, build the clip, send the method, decode the response, and handle missing nodes or protocol errors. A Protocol Monitor example is a concrete command shape, not a portable standalone script: it does not select the node, calculate its geometry, or write the returned bytes to disk.
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 minutePC 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 & 11Troubleshoot common failures
- No image or an unexpected region: Check that the selector matched the intended element and that the rectangle was calculated from the correct box. Verify each coordinate against the values your client actually returned.
- The element is missing: The selector may match nothing, the page may not have reached the expected state, or the element may be inside a frame. Handle a missing match explicitly and query the relevant frame context.
- The image is cropped or shifted: Recheck the mapping between DOM geometry and clip coordinates, especially with device emulation, zoom, transforms, frame offsets, or sticky positioning. Try scrolling the element into view before measuring.
- An offscreen target is not captured: The current tip-of-tree schema lists
captureBeyondViewportwith a default offalse. Scroll the target into view or explicitly verify the parameter’s support and behavior for your browser version. - The saved file cannot be opened: Confirm that you decoded the response’s base64
datafield into bytes instead of writing the encoded text as though it were an image. Make the file extension match the requested format. - The command is rejected or fields differ: Check the method parameters in the protocol schema for the Chrome build you are running and the conventions of your CDP client. Live tip-of-tree documentation can evolve, and client wrappers may use their own request shapes.
Or skip the browser setup
If you need a URL screenshot rather than a CDP-controlled element capture, ScreenshotNeo is a screenshot API and MCP server. It accepts a URL and returns an image or PDF; this does not replace the selector-and-clip workflow when you specifically need one DOM element.
Best Value
- 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
- 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
- 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.
For a full-page screenshot of a URL, one-call example:
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 or removed before capture, along with known newsletter popups and chat widgets; each cleanup step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers indicate the page verdict and billing status. Its MCP server offers screenshot, page-info, and PDF-capture tools for AI agents. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up free for 1,000 screenshots a month, with no card required.
Free tools Windows power users keep installed
One-click scans. No signup required.
Frequently Asked Questions
Can CDP screenshot several elements in one image?
The workflow here defines one rectangular clip per capture request. For a composite image, arrange the desired content in a page region and capture that region, or capture regions separately and combine them in your own processing step.
Does Capture node screenshot use CDP?
The manual command is a Chrome DevTools feature. This guide does not rely on a particular internal implementation of that UI command; it distinguishes the interactive workflow from directly issuing CDP methods.
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.

