Free tools Windows power users keep installed

One-click scans. No signup required.

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

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Scroll the page to trigger its infinite-loading behavior, wait for new content to appear, and repeat until a site-specific stopping condition is met. Then capture the rendered page with await page.screenshot({ path: 'page.png', fullPage: true }). The fullPage option captures the page’s current contents; it does not, by itself, guarantee that an infinite feed has loaded.

Why scrolling must happen before the screenshot

Puppeteer’s Page.screenshot() method accepts fullPage: true to request a screenshot of the full page. Its API documentation describes screenshot options such as fullPage and clip, but does not say that full-page capture will scroll through an infinite feed to trigger additional requests. See the Puppeteer screenshots guide, ScreenshotOptions reference, and Page.screenshot() reference (documentation surfaced for version 25.12.0 on October 3, 2026).

Infinite-scroll sites commonly add items in response to scroll activity. If you capture before triggering that activity, the screenshot can omit items the page has not loaded. The reliable sequence is therefore: navigate, scroll in controlled increments, check for progress, stop at a deliberate limit or completion signal, return to the top if appropriate, and capture.

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

Scroll, wait, check progress, then capture

This example assumes page has already navigated to the target URL. It scrolls the window toward the current bottom, pauses for the site to respond, and stops after three passes without an increase in document height or after 40 passes.

#1 Best Overall
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
// Assume `page` has already navigated to the target URL.
await page.evaluate(async () => {
  const pause = ms => new Promise(resolve => setTimeout(resolve, ms));
  let previousHeight = 0;
  let unchangedPasses = 0;
  const maxPasses = 40;

  for (let pass = 0; pass < maxPasses; pass++) {
    const height = document.documentElement.scrollHeight;
    window.scrollTo(0, height);
    await pause(700); // Tune for the site; this is not a Puppeteer default.

    const nextHeight = document.documentElement.scrollHeight;
    if (nextHeight <= previousHeight) {
      unchangedPasses++;
    } else {
      unchangedPasses = 0;
    }
    previousHeight = nextHeight;

    if (unchangedPasses >= 3) break;
  }

  window.scrollTo(0, 0);
});

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

The pause duration and pass limit are example safeguards, not Puppeteer defaults. Tune them to the target site and your capture budget. Height is a useful signal, but not a universal completion test: some sites append items without changing document height, load content inside a nested scroller, or expose a “load more” control instead.

Choose a trigger, completion signal, and bound

Trigger the right scrolling behavior

  • Window scrolling: Use window.scrollTo() when the document itself scrolls, as in the example.
  • Nested scroll container: Find the element that actually scrolls and advance its scrollTop; scrolling the window may not trigger its feed.
  • “Load more” control: Locate and activate the control explicitly, then wait for the next items or loading indicator. Do not assume that scrolling alone will load them.

Measure a signal that matches the page

Document height works when adding feed items changes the page height. For other implementations, observe a feed item count, a loading indicator, or another page-specific marker. A stable item count after scrolling is often more informative than an unchanged height. Use selectors that match the actual page; there is no universal selector or completion signal for infinite-scroll sites.

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

Set a hard stop

An infinite feed has no natural end, and a site may keep changing or retrying requests. Use a maximum pass count, maximum item count, or elapsed-time budget. Combine a hard limit with a completion signal—for example, stop when the item count has been unchanged for several checks, or when the pass or time limit is reached. This prevents an unattended capture from running indefinitely.

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.

Lazy-loaded images and other page-specific cases

Scrolling can trigger images that load only near the viewport, but behavior varies by site. A user report describes below-viewport images remaining blank until the page was manually scrolled; that is a practical warning, not a guarantee about every page. See the reported lazy-image issue.

Rank #3
Sale
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.
  • If images are missing, scroll through the relevant regions before capturing and wait for the page’s image-loading behavior to complete.
  • If content loads inside a nested scroller, scroll that container rather than the document.
  • If a consent prompt or other overlay blocks the feed, handle it as the page requires before continuing.
  • If a page changes content while capture is in progress, check the saved image rather than assuming the call’s success means every item and asset was ready.

Capture the whole page or only a region

Use fullPage: true when the goal is the full rendered document after scrolling has loaded the desired content. Puppeteer’s screenshot options also include clip for a defined region; these are different capture scopes, not alternatives for triggering infinite-scroll requests. See the ScreenshotOptions reference for the documented options. If you need only a particular element, Puppeteer’s screenshots guide documents element screenshots as well.

Verify the saved screenshot

A completed screenshot call confirms that Puppeteer produced a capture; it does not establish that the site finished loading every feed item or image. Open the saved image and check that the expected final item and below-the-fold assets are present. If the output is incomplete, adjust the trigger, progress signal, or wait strategy for that site and capture again.

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

Troubleshooting

Symptom Likely cause What to change
Only the initial items appear The capture happened before scroll-triggered requests completed, or scrolling did not reach the feed’s actual scroller. Scroll the correct target and wait for an item-count or loading-state change before capturing.
The loop stops while more items are available Document height stayed constant even though the site can load items without changing it. Replace the height-only check with a page-specific item count or loading indicator, while keeping a hard maximum.
The loop never reaches a natural end The feed is genuinely unbounded, or its completion condition is not detectable through height. Use a maximum number of items, passes, or elapsed time; treat that cap as the intended capture boundary.
Images are blank or absent Images may be lazy-loaded, still loading, or dependent on scrolling into view. Scroll through the image regions, allow the page to respond, and inspect the output. Results depend on the site.
The feed does not advance when the window scrolls The page may use an inner scrolling element or a “load more” button. Scroll the actual container or activate the control, then wait for a site-specific progress signal.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

ScreenshotNeo offers a screenshot API and MCP server. Its one-call API can return an image or PDF; for an infinite-scroll page, this call captures the URL, but a single call should not be treated as a promise to exhaust a feed that requires scrolling.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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 documentation for API options. It accepts cookie or consent banners before capture and removes 60+ known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. The Free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots.

Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.

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 Puppeteer’s fullPage option trigger infinite scrolling?

No. It requests a full-page capture of the page’s current contents; scroll first to trigger loading.

How can I avoid an endless scroll loop?

Use a hard pass, item, or time limit and stop based on a page-specific signal such as item count or a loading indicator.

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.