Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

fullPage: true asks Puppeteer to capture the whole page; it does not wait for your app to render content or trigger content that loads only after scrolling. Wait for navigation, then for a meaningful page-specific readiness condition. If the lower content is lazy-loaded, scroll through it and confirm it appears before capturing. Compare a viewport, full-page, and element screenshot to isolate the cause.

1. Confirm that Puppeteer is capturing the full page

Set fullPage explicitly. It is false by default. captureBeyondViewport is a separate option; the API documents it as false when there is no clip and true otherwise. It is not a substitute for waiting until page content is ready. See the Puppeteer screenshot options.

await page.screenshot({ path: 'page.png', fullPage: true });

Take a normal viewport screenshot as a comparison. If the lower content is absent there too, the page may not have rendered it; if it appears in the viewport after scrolling but not in the full-page capture, investigate scroll-triggered loading and capture timing.

2. Wait for the page and the content you need

Puppeteer’s screenshot guide demonstrates waiting for networkidle2 during navigation. The API also offers page.waitForNetworkIdle(); its documented default idle time is 500 ms. These are useful starting points, not proof that application-specific rendering has finished. A page can become network-idle while a component still needs data, decoding, or client-side work.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Philips 24 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 241V8LB
  • 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

Prefer a selector or state that represents the actual content you need. For example:

await page.goto('https://example.com', { waitUntil: 'networkidle2' });
await page.waitForSelector('#content-below-fold img');
await page.screenshot({ path: 'full.png', fullPage: true });

Replace the example URL and selector with your own. An element’s presence in the DOM may not mean its image has loaded or its component is visually ready. Choose a condition that matches the page’s behavior; where suitable, Puppeteer locators can wait for an element to exist, be visible, and maintain a stable bounding box across two animation frames.

References: Puppeteer screenshots guide, Page.waitForNetworkIdle(), and wait options. The cited screenshot-options and wait-options references display Puppeteer version 25.12.0.

Rank #2
Philips 22 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 221V8LB
  • 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

3. Test whether scrolling triggers the missing content

Some pages defer image loading or rendering until a region approaches the viewport. A full-page screenshot request does not guarantee that every site’s scroll-dependent behavior will run. Scroll through the affected region, wait for the expected content, and then capture. Treat this as a diagnostic test: verify that scrolling makes the content appear on the page rather than assuming it is the cause.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
await page.goto('https://example.com', { waitUntil: 'networkidle2' });

// Diagnostic: scroll down in increments and allow the page to respond.
await page.evaluate(async () => {
  const step = Math.max(1, Math.floor(window.innerHeight * 0.8));
  for (let y = 0; y < document.documentElement.scrollHeight; y += step) {
    window.scrollTo(0, y);
    await new Promise(resolve => setTimeout(resolve, 250));
  }
  window.scrollTo(0, 0);
});

await page.waitForSelector('#content-below-fold img');
await page.screenshot({ path: 'full.png', fullPage: true });

The 250 ms delay is an example for the diagnostic loop, not a universal readiness guarantee. Use a page-specific wait where possible. If the missing region is inside a nested scrolling container, scrolling the window may not activate it; scroll that container instead.

4. Inspect the blank region in the DOM

At the position that looks blank, inspect the target node and its layout. Check whether the node exists, contains the expected text or image source, is visible, and has a nonzero bounding box. Also determine whether it is inside an iframe or a nested scrolling element. Puppeteer exposes frame and element operations, but the underlying cause depends on the page.

Rank #3
Dell 24 Monitor - SE2426H - 23.8-inch FHD (1920x1080) 144Hz 1ms Display, in-Plane Switching (IPS) Technology, AMD FreeSync™, TÜV 3-Star 2X HDMI, Tilt
  • 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.
  • Node missing: the app may not have rendered or fetched the content yet. Wait for the relevant application state and inspect page errors or failed requests.
  • Node exists but has no content: check whether the application has populated its text, image source, or component data.
  • Node has zero dimensions or is hidden: inspect the page’s layout and visibility state at capture time.
  • Content is in an iframe or nested scroller: inspect the correct frame or scroll container; the main document’s selector or window scroll may not reach it.

Use the Page API and ElementHandle API for page, frame, and element inspection.

5. Compare a viewport, full-page, and element capture

A three-way comparison helps distinguish missing page content from a full-page capture issue. First capture the normal viewport, then the full page, then the specific section. An element screenshot scrolls the element into view if needed and captures that element; the API documents this behavior in ElementHandle.screenshot().

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
await page.screenshot({ path: 'viewport.png' });
await page.screenshot({ path: 'full.png', fullPage: true });

const el = await page.waitForSelector('#content-below-fold');
await el.screenshot({ path: 'section.png' });

If the element capture works but the full-page image does not, investigate page layout and full-page capture scope. If both are blank, check whether the page actually rendered the content. These are diagnostic inferences, not a guaranteed explanation for every site.

Rank #4
Sale
Samsung 27" Essential S3 (S36GD) Series FHD 1800R Curved Computer Monitor
  • 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

6. Troubleshoot by symptom

Symptom Likely area to check Next step
Lower content is blank in viewport and full-page captures Rendering, data loading, visibility, or an incorrect frame/selector Inspect the node, its content and dimensions, and wait for the page-specific state that populates it.
Content appears after manually scrolling, but not before Lazy loading or scroll-triggered rendering Scroll the relevant page or nested container, wait for the content, then capture.
Content appears in a viewport screenshot after scrolling but is missing from the full-page image Capture timing, page layout, or full-page capture behavior Compare the element screenshot and verify the content is ready before the full-page capture.
Element screenshot is blank too The element may not contain rendered content or may be hidden Check the selected node’s text, image source, visibility, and bounding box.
Navigation wait completes, but the page still looks incomplete Network idleness may precede application readiness Wait for a meaningful selector or state instead of relying on network idle alone.

7. Keep the capture reproducible

For a reliable fix, record the affected URL, minimal capture code, Puppeteer and Chrome versions, navigation and wait settings, and whether the region belongs to an iframe or nested scroller. Compare the same three captures—viewport, full-page, and element—before and after changing one condition at a time. That makes it easier to tell whether the change affected page rendering, scroll-triggered loading, or capture scope.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is simply to get a screenshot rather than debug Puppeteer, ScreenshotNeo provides a screenshot API and MCP server. Its API can capture a page with one GET request; see the ScreenshotNeo documentation for parameters and response details.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the page verdict and billing status in headers. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Sign up for 1,000 free screenshots a month with no card.

Best Value
Sale
Sceptre New 22-Inch Gaming Monitor, FHD 1080p, Up to 144Hz, HDMI, DisplayPort, Built-in Speakers, Machine Black (E225W-FW144 Series, 2026)
  • 【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.

Frequently Asked Questions

Does fullPage: true automatically load lazy images?

No. It requests a full-page capture, but does not guarantee that a site’s scroll-triggered content has loaded. Verify the behavior on the affected page by scrolling and waiting for its content.

Should I always use networkidle2 before a screenshot?

It is a documented navigation wait condition and a useful starting point, but it does not establish that every application-specific render task is complete. Wait for the content or state your capture depends on.

How can I tell whether the problem is the page or full-page capture?

Compare viewport, full-page, and element screenshots, and inspect whether the target node exists, is visible, and has content and dimensions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.