First identify what is being captured and which element actually scrolls. A page-level fullPage: true captures the document, but it does not automatically expand each independently scrolling section. A clip, an element screenshot, constrained CSS height, or a page that is still changing can produce a different result. Check the installed Puppeteer version and the page’s layout before choosing a fix.
1. Check the screenshot call and capture scope
Start with the exact screenshot options. Puppeteer distinguishes between capturing the full page, capturing a specified clip region, and capturing beyond the viewport. In the current ScreenshotOptions API, fullPage: true requests a full-page screenshot. captureBeyondViewport controls capture beyond the viewport; its documented default is false when there is no clip and true when a clip is specified.
As an Amazon Associate I earn from qualifying purchases.
The API page currently displays Puppeteer 25.12.0. That does not establish what an older project does: check the installed Puppeteer and its corresponding browser, and use the documentation for that version when behavior differs.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →const image = await page.screenshot({
path: 'page.png',
fullPage: true,
});
If your code supplies a clip, it is asking for a region rather than an unrestricted full-page capture. Decide first whether the intended result is the visible viewport, the full document, a particular rectangle, one element, or the contents of an inner scroll area.
#1 Best Overall
- SUPERCHARGED BY M5 — The 14-inch MacBook Pro with M5 brings next-generation speed and powerful on-device AI to personal, professional, and creative tasks. Featuring all-day battery life and a breathtaking Liquid Retina XDR display with up to 1600 nits peak brightness, it’s pro in every way.*
- HAPPILY EVER FASTER — Along with its faster CPU and unified memory, M5 features a more powerful GPU with a Neural Accelerator built into each core, delivering faster AI performance. So you can blaze through demanding workloads at mind-bending speeds.
- BUILT FOR APPLE INTELLIGENCE — Apple Intelligence is the personal intelligence system that helps you write, express yourself, and get things done effortlessly. With groundbreaking privacy protections, it gives you peace of mind that no one else can access your data — not even Apple.*
- ALL-DAY BATTERY LIFE — MacBook Pro delivers the same exceptional performance whether it’s running on battery or plugged in.
- APPS FLY WITH APPLE SILICON — All your favorites, including Microsoft 365 and Adobe Creative Cloud, run lightning fast in macOS.*
2. Find the element that owns the scrollbar
A page can contain a normal document scrollbar and separate scrollable sections. Page-level full-page capture concerns the document; it does not necessarily reveal content hidden inside a section whose own height and overflow are constrained. Puppeteer’s issue discussing an inner scrolling region illustrates the distinction: the reported full-page screenshot included only the filled viewport of the inner region.
Inspect the section and its ancestors in DevTools or evaluate their computed styles. Look for a fixed height, max-height, and overflow: hidden, auto, or scroll. Compare the target element’s scrollHeight and clientHeight; a larger scroll height means there is content beyond its visible box, but does not by itself prove that content should appear in the screenshot.
Rank #2
- [Built for Heavy Multitasking & Business Workloads] Configured with 32GB high-bandwidth DDR5 RAM and a 1TB PCIe NVMe M.2 SSD, this laptop handles large spreadsheets, data analysis, presentations, CRM systems, browser-heavy workflows, and AI-assisted business tools with ease—ideal for professionals working across multiple applications all day.
- [Business-Class Performance with Intel Core Ultra 7] Powered by the Intel Core Ultra 7 255U Processor (12 Cores, 14 Threads, up to 5.2GHz), delivering strong multi-core performance, integrated AI acceleration, and energy-efficient operation. Designed for enterprise users, analysts, developers, and managers who need consistent, reliable performance for long work sessions—not just short bursts.
- [16" Productivity Display – More Space, Less Scrolling] Features a 16″ WUXGA (1920×1200) IPS display with 16:10 aspect ratio, antiglare coating, and 400 nits brightness, providing more vertical workspace for documents, coding, dashboards, financial models, and multitasking, making it more efficient than standard 16:9 laptops.
- [Enterprise-Ready Connectivity & Security] 2 x USB-C (Thunderbolt 4, USB 40Gbps), 2 x USB-A (USB 5Gbps) – one always on, 1 x USB-A (hi-speed USB), 1x Headphone / mic comb, 1 x HDMI, 1 x Ethernet (RJ-45), 1 x Kensington Nano Security Slot, Fingerprint, Backlit Keyboard, Wi-Fi 6E + Bluetooth, Windows 11 Pro, supporting business security, remote management, virtualization, and professional workflows.
- [ThinkPad L16 – Built for Mobility & Long-Term Business Use] Positioned above entry-level models, the ThinkPad L16 Gen 2 offers stronger build quality, MIL-STD-810H–tested durability, all-day battery life, and IT-friendly reliability, making it a smarter choice for corporate environments, managed deployments, remote work, and professionals upgrading from E-series or consumer laptops.
const dimensions = await page.$eval('#target-section', element => {
const style = getComputedStyle(element);
return {
scrollHeight: element.scrollHeight,
clientHeight: element.clientHeight,
height: style.height,
maxHeight: style.maxHeight,
overflow: style.overflow,
overflowY: style.overflowY,
};
});
console.log(dimensions);
Use the smallest change that matches the desired output. If the section is intended to show all its content, test a layout that removes or raises the height constraint and permits visible overflow. If it is intentionally a scroll panel, capture its contents deliberately rather than treating the panel as the whole page. Removing overflow rules indiscriminately can change the design and is not a universal fix.
3. Distinguish page capture from element capture
Puppeteer’s screenshot guide uses Page.screenshot() for page captures and describes ElementHandle.screenshot() for a particular element. The ElementHandle API says an element screenshot scrolls that element into view if needed and then uses page screenshot capture. Scrolling it into view does not remove clipping imposed by CSS inside it or its ancestors.
Rank #3
- FAST RUNS IN THE FAMILY — The 14-inch MacBook Pro with the M5 Pro or M5 Max chip brings next-generation speed and powerful on-device AI to personal, professional, and creative tasks. With all-day battery life, double the starting storage,* and a breathtaking Liquid Retina XDR display, it’s pro in every way.*
- BUCKLE UP — Along with a next-generation CPU, faster unified memory, and up to 2x faster SSD storage,* M5 Pro and M5 Max feature a more powerful GPU with a Neural Accelerator built into each core, delivering faster AI performance and on-device training capabilities. So you can blaze through demanding workloads at mind-bending speeds.
- BUILT FOR AI — Apple silicon, and every major component that powers it, is designed to run demanding on-device AI workloads like LLM inference and training. And Apple Intelligence helps you write, express yourself, and get things done effortlessly with groundbreaking privacy protections at every step.*
- ALL-DAY BATTERY LIFE — MacBook Pro delivers the same exceptional performance whether it’s running on battery or plugged in.*
- MACOS RUNS APPS FAST — All your go-to apps run lightning fast in macOS, including built-in apps like FaceTime and Messages. Plus, built-in virus protection and free software updates help keep your Mac running smoothly and securely.
const section = await page.$('#target-section');
if (!section) throw new Error('Target section was not found');
await section.screenshot({ path: 'section.png' });
If the screenshot still omits text, inspect the element’s box and clipping ancestors. The element method changes what you target; it is not a command to expand all nested scroll containers.
4. Change the viewport only when that matches the intended result
Increasing viewport height can help in a specific case where content is clipped relative to the viewport, but it changes the page being rendered. A Puppeteer maintainer discussion says that, beginning with the Chromium roll in Puppeteer v2.0.0, screenshots clipped elements to the viewport. The same discussion explains that making the viewport as tall as the page can alter vh-based layout, fixed or sticky content, lazy loading, and page shifts (Puppeteer issue #359).
Use this approach only if the screenshot should represent the page at the taller viewport. Compare the rendered page before and after resizing, especially responsive breakpoints and fixed or sticky elements. Do not treat a taller viewport as a layout-neutral way to reveal content inside an independently scrolling section.
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 & 115. Wait for the page’s layout to settle
Content inserted after navigation or resized by scripts can change section dimensions near capture time. The official guide’s navigation example uses waitUntil: 'networkidle2', but that example is not a guarantee that every application has finished rendering. Wait for the application’s own readiness signal when available, then inspect the relevant dimensions immediately before taking the screenshot.
Rank #4
- POWERFUL FOR CREATIVITY - The Dell Precision 7000 series, positioned at the apex of the Precision lineup, surpasses the 3000 and 5000 series and aligns closely with the evolving direction of the Dell Pro Max series. This top-tier 7680 features the NVIDIA RTX 2000 Ada 8GB GPU to deliver robust performance for professionals in design, architecture, photography, video editing, and engineering. Furthermore, the series' intelligent design for data science leverages AI to optimize system performance for key applications, enabling accelerated workflow efficiency
- HIGH PERFORMANCE - Powered by Intel Core i7-13850HX vPro Processor for superior efficiency and speed, 64GB DDR5 CAMM RAM and 1TB PCIe NVMe M.2 SSD for seamless multitasking and fast storage. CAMM was designed specifically to overcome the performance limits of SODIMM while reducing both Z height and routing traces on the PCB to ultimately allow for laptops with both faster RAM and thinner profiles
- CRISP DISPLAY - 16" FHD+ (1920 x 1200) Anti-Glare 45% NTSC display delivers crisp visuals, supported by the ability to connect 4 external monitors via HDMI, USB-C and Thunderbolt ports at 4K (3840x2160) @60Hz (without docking station). 1080p FHD RGB webcam for crystal-clear video calls
- VERSATILE CONNECTIVITY - Equipped with 2x Thunderbolt 4, USB-C, 2x USB-A, HDMI, Ethernet (RJ-45), and an Audio combo jack. With Wi-Fi 6E and Bluetooth 5.2, ensuring fast wireless connectivity and compatibility with a wide range of peripherals. A full-size keyboard with a dedicated numeric keypad boosts productivity.
- OPERATING SYSTEM - Windows 11 Pro 64‑bit, with AI‑powered Copilot, offers intelligent assistance to streamline complex professional workflows, enhance productivity, and support advanced multitasking across demanding applications. Built for workstation‑class computing, it delivers enterprise‑grade security and IT manageability
await page.goto('https://example.com', { waitUntil: 'networkidle2' });
await page.waitForSelector('#target-section');
// If the application exposes a real readiness condition, wait for it here.
const dimensions = await page.$eval('#target-section', element => ({
scrollHeight: element.scrollHeight,
clientHeight: element.clientHeight,
}));
console.log(dimensions);
await page.screenshot({ path: 'page.png', fullPage: true });
Replace the example URL, selector, and readiness check with those for your application. A selector appearing only proves that the element exists; it may not prove that asynchronous content or fonts have finished affecting its layout.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.6. Check the reported overflow-and-border edge case only if it matches
Puppeteer issue #7578 documents a specific full-page rendering report: at a 600px viewport width, the final horizontally scrollable pre block appeared empty with a combination of overflow and border styles. This is a narrow reproduction, not a general explanation for text clipped at the bottom of sections.
Best Value
- POWERFUL PERFORMANCE FOR PRODUCTIVITY: Equipped with Intel 4-Core CPU and 8GB DDR5 RAM, this 2026 Edition Lenovo laptop delivers smooth multitasking for small business operations, student assignments, and daily office work. The 256GB SSD ensures fast boot times and quick file access, keeping you efficient throughout your workday.
- CRYSTAL-CLEAR VISUAL EXPERIENCE: Features a 15.6-inch FHD (1920x1080) anti-glare display that reduces eye strain during extended use. Perfect for video conferences, document editing, spreadsheet analysis, and multimedia content consumption with vibrant colors and sharp details.
- ALL-DAY BATTERY LIFE: Long-lasting battery keeps you productive without constantly searching for outlets. Ideal for students moving between classes, professionals working remotely, or anyone who needs reliable computing power throughout the day without interruption.
- PORTABLE AND LIGHTWEIGHT DESIGN: Slim profile and portable construction make this laptop easy to carry in backpacks or briefcases. Perfect for students commuting to campus, business travelers, or remote workers who need computing power on the go without the bulk.
- READY TO USE OUT OF THE BOX: Pre-installed with Windows 11, offering an intuitive interface, enhanced security features, and compatibility with essential business and educational software. Includes multiple USB ports, HDMI output, and wireless connectivity for seamless integration with your devices.
If your page has a similar horizontally scrollable block and styling, reduce it to a minimal HTML reproduction. Compare the affected viewport width and isolate the overflow and border rules before applying a workaround. If those conditions are absent, investigate capture scope and section scrolling instead.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minute7. Choose a fix based on the intended screenshot
| What you need to capture | First thing to verify | Likely next step |
|---|---|---|
| Entire document | The call uses the intended page-level full-page option and no unintended clip. | Use page.screenshot({ fullPage: true }) and inspect whether the document itself extends beyond the viewport. |
| Visible part of a scroll panel | The target is a constrained element with its own overflow. | Capture the element as displayed; do not expect the page screenshot to expose its hidden scroll contents. |
| All content inside a scroll panel | The element’s scrollHeight exceeds its clientHeight. |
Capture the content using a deliberate layout or scrolling strategy that preserves the intended page design. |
| A particular element | The selected element and its clipping ancestors. | Use ElementHandle.screenshot(), remembering that scrolling into view does not remove CSS clipping. |
| Page at a taller viewport | Whether viewport-dependent layout changes are acceptable. | Resize only if the output should reflect that viewport, then compare layout and lazy-loaded content. |
| Potential overflow-and-border bug | Whether the narrow conditions in issue #7578 are present. | Build a minimal reproduction before attributing the symptom to that edge case. |
For any candidate fix, check capture intent, layout fidelity, content completeness, reproduction match, and compatibility with the installed Puppeteer/browser version.
8. Troubleshooting: symptom, cause to test, and response
- Everything below the viewport is missing: check whether the call requests full-page capture or instead uses a clip or viewport-sized capture. Confirm the installed version’s option behavior.
- Only text inside one section is missing: inspect that section and its ancestors for constrained height and overflow. Determine whether the section, rather than the document, owns the scrollbar.
- An element screenshot is still clipped: check its CSS and ancestors. Scrolling the element into view does not expand its inner layout.
- The page is taller after resizing, but sticky or fixed content looks wrong: the taller viewport changed layout semantics. Restore the intended viewport or accept the new layout only if it is what the screenshot should show.
- Content appears inconsistently between runs: check whether application rendering or layout changes after navigation. Wait for an app-specific readiness condition and log dimensions immediately before capture.
- A horizontal code block is blank at the end of a full-page image: compare the page with the specific overflow-and-border reproduction in issue #7578; do not generalize it without matching conditions.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request can return a PNG, JPEG, WebP, or PDF. For a basic capture, use cURL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
See the ScreenshotNeo API documentation for request options. ScreenshotNeo removes cookie/consent banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots. The Free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000 screenshots.
Sign up free for ScreenshotNeo to try 1,000 screenshots a month with no card.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Frequently Asked Questions
What details should I include when asking for help with a clipped Puppeteer screenshot?
Include the screenshot call and options, Puppeteer and Chromium versions, relevant section and ancestor CSS, whether the document or a nested element scrolls, and when the page becomes ready. A minimal reproduction is especially useful.
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.

