Windows 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 reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchSome links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
In Playwright, call await page.screenshot({ path: 'fullpage.png', fullPage: true }) after navigating to the page. The fullPage option captures the full scrollable page rather than only the visible viewport. Puppeteer offers the same option. For reliable results, set the viewport before navigation and wait for content that loads dynamically or on scroll.
Capture a full page with Playwright
Playwright is a good choice when it is already part of your browser automation stack. Its screenshot API accepts fullPage: true to capture the full scrollable page. The example below is a complete Node.js script that saves a PNG and closes the browser even if navigation or capture fails.
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
try {
const page = await browser.newPage({
viewport: { width: 1280, height: 800 },
});
await page.goto('https://example.com');
await page.screenshot({ path: 'fullpage.png', fullPage: true });
console.log('Saved fullpage.png');
} finally {
await browser.close();
}
})();
Install Playwright and its browser binaries in your project before running the script. The viewport dimensions are CSS pixels. Set them explicitly when the captured page must use a repeatable responsive layout; changing width can alter text wrapping, navigation, and the total page height.
The equivalent minimal capture is await page.screenshot({ path: 'fullpage.png', fullPage: true }). The documented full-page example and option are in the Playwright screenshots guide and Page API.
#1 Best Overall
- 16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting
- Optical Zoom: 4x optical zoom with a 27mm wide angle lens for flexible framing indoors or outdoors
- Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
- Memory Support: Works with Class 10 SD, SDHC, or SDXC cards up to 512GB
- LCD Screen and Battery: 2.7in LCD screen with 2 AA alkaline batteries for convenient on-the-go use
Use Puppeteer if it fits your project
Puppeteer also supports full-page capture through page.screenshot({ fullPage: true }). Its default is false, so a screenshot without that option normally captures only the viewport.
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
try {
const page = await browser.newPage();
await page.setViewport({ width: 1280, height: 800 });
await page.goto('https://example.com');
await page.screenshot({ path: 'fullpage.png', fullPage: true });
console.log('Saved fullpage.png');
} finally {
await browser.close();
}
})();
Choose between Playwright and Puppeteer based on the rest of your project: both expose the full-page option, and switching libraries solely for this capture is usually unnecessary. Puppeteer’s configuration is documented in its ScreenshotOptions interface and Page.screenshot() method.
Make the capture repeatable
Set viewport before navigation
Pages respond to viewport width and height. Define them before loading the URL so the site renders in the intended layout from the beginning. In Puppeteer, page.setViewport() also accepts emulation settings such as device scale factor, mobile mode, touch support, and orientation. See the Puppeteer Viewport interface.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsChoose the pixel scale in Playwright
Playwright’s scale option controls output density. scale: 'css' produces one image pixel per CSS pixel; scale: 'device' produces device pixels and may make the output larger on a high-DPI setup. Use CSS scale when compact dimensions are useful for review or processing, and device scale when the extra pixel density is important.
Rank #2
- 16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting
- Optical Zoom: 5x optical zoom with a 28mm wide angle lens for flexible framing indoors or outdoors
- Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
- Memory Support: Works with Class 10 SD, SDHC, or SDXC cards up to 512GB
- LCD Screen and Battery: 2.7in LCD screen and a rechargeable lithium-ion battery for on-the-go use
await page.screenshot({
path: 'fullpage.png',
fullPage: true,
scale: 'css',
});
Choose a file, format, or in-memory image
With Playwright, path writes the result to a file. Without a path, the screenshot can be returned as image data for further handling; the API also supports a buffer-oriented workflow. This is useful when you want to upload an image, compare pixels, or transform it without first writing it to disk. Puppeteer’s screenshot method likewise returns image data when no path is supplied.
Playwright’s screenshot options also cover image type, styling, masking, and timeout. Puppeteer’s options include path, type, quality, clip, and background-related settings. Consult each library’s API reference for the exact option names and behavior in your installed version rather than assuming that one library’s settings transfer to the other.
Handle lazy-loaded and changing content
fullPage: true controls capture extent; it is not a promise that every image, feed item, or dynamically inserted section has finished loading. A site may fetch content only after scrolling near it. Wait for the content that matters, and, when necessary, scroll through the page before taking the final screenshot.
// Example for a page where the target section appears after scrolling.
await page.goto('https://example.com');
await page.locator('#target-section').scrollIntoViewIfNeeded();
await page.locator('#target-section').waitFor({ state: 'visible' });
await page.screenshot({ path: 'fullpage.png', fullPage: true });
For a long page with several lazy-loaded regions, scroll in increments and wait for the actual images or elements you need. The precise selectors and readiness conditions are site-specific. A fixed delay can be a pragmatic fallback, but waiting for a meaningful selector is generally clearer than assuming a particular number of seconds is enough. Inspect the result on the target page, especially when content is loaded by scrolling or updated after navigation.
Rank #3
- Easily Maneuver Your View: Tired of struggling with hard-to-reach areas during inspections? This two-way articulating borescope effortlessly navigates tight and complex spaces with its flexible and maneuverable probe. Enjoy crystal-clear visual feedback that saves you both time and money. Whether for automotive maintenance or household inspections, this tool transforms your inspection journey, making the process faster and easier than ever.
- See Every Detail in Vivid Clarity: Experience the exceptional image quality of our 4.5-inch IPS LCD color screen, delivering sharp, high-resolution visuals. Whether you’re in bright sunlight or dim conditions, this display ensures you won’t miss a thing. Plus, with no app required, it's ready to go whenever you are!
- Master the Most Challenging Inspections: Equipped with a 5FT semi-rigid gooseneck cable, this borescope provides the ideal combination of flexibility and stability, allowing you to navigate tight, intricate spaces with ease. The cable retains its shape as you guide it, giving you precise control for thorough inspections. Designed for versatility, it adapts effortlessly to various environments, ensuring no detail goes unnoticed.
- Light Up the Darkest Corners: Equipped with built-in high-brightness LED lights on the camera probe, you’ll have the visibility you need even in the darkest environments. The adjustable illumination allows you to customize the brightness for every inspection, ensuring that no detail goes unnoticed in tight or confined spaces.
- Ergonomics Meet Efficiency: This borescope is thoughtfully designed for maximum comfort and usability. The centrally located articulating joystick allows for effortless one-handed operation with either hand. The photo button is conveniently positioned on the back, making it easy to capture images or videos during inspections. Lightweight and compact, this borescope ensures prolonged use without fatigue, perfect for on-the-go inspections.
What full-page capture does—and does not do
A full-page screenshot represents the scrollable page as one tall image, rather than recording only what was visible in the browser window. That is useful for archiving a page, reviewing a complete design, or comparing a page in an image workflow. It is not equivalent to taking a sequence of viewport screenshots, and the API’s full-page option does not itself establish that every browser behavior will look exactly as it would during a human scroll.
- Responsive layout: the viewport can change how the page is composed before it is captured.
- Scroll-triggered content: trigger and wait for content that is not present until the page is scrolled.
- Large output: a very tall page can produce a large image file; device-pixel scaling can increase the pixel dimensions further. No universal size or performance limit follows from the API option alone.
- Reproducibility: use the same viewport and scale for captures you intend to compare.
Troubleshooting common failures
The screenshot contains only the first screen
Confirm that the call includes fullPage: true and that the code uses the page screenshot method, not an element or viewport-only capture. In Puppeteer, the option defaults to false.
Images or sections are missing
The target may load content only when scrolled into view, or it may still be fetching data when the screenshot starts. Scroll to the relevant area, wait for a selector or image state that indicates readiness, then capture. The full-page flag alone is not a content-loading strategy.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →The layout differs from the expected design
Set viewport width and height before navigation, then verify the responsive breakpoint used by the page. If output sharpness or pixel dimensions differ, check Playwright’s scale setting or Puppeteer’s device emulation settings.
Rank #4
- 【4K UHD & 50MP High-Def Shooting with 180° Flip Screen】Capture stunning videos and stills in ultra HD with this digital camera’s 2.8″ flip screen for framing. Whether documenting family trips, everyday moments, or creating video content, it delivers clear images and smooth video.Ideal mini camera & vlog camera companion.
- 【16X Digital Zoom & Precise Autofocus】Get closer with 16X digital zoom and sharp autofocus on this point and shoot digital cameras camcorder. Even if you shoot from a distance, you can still take clear and beautiful photos. Whether shooting landscapes or portraits, this cameras for photography delivers crisp clarity every time.
- 【Portable & Multi-Functional Design】Our mini camera weighs just 0.6 lbs and serves as a video camera, camcorder, and action camera. Built-in flash, time-lapse, and slow-motion modes make it the ultimate kids camera on the go.Record the beautiful and happy life of children.
- 【Versatile for YouTube & Beyond】This vlog camera doubles as a webcam and supports Data line transfer for seamless sharing. Connect to PC for live streaming and video chats on youtube, making it the perfect digital camera for content creators.Whether you're recording a vlog on the go, filming a makeup tutorial, or capturing fun moments with friends, this camera has you covered.
- 【Complete Accessories & Service】The camera comes with a 1500mAh rechargeable battery, which can be used continuously for 4-5 hours. Accessories includes a lens cleaning cloth, Type-C cable, 32GB card, carrying case, and lanyard.. Enjoy an 18-month WARRANTY and responsive customer support. Your camara awaits—ready for every adventure!
The output is unexpectedly large
A full-page image can be tall, and device-pixel output may contain more pixels than CSS-pixel output. Try Playwright’s scale: 'css' when one pixel per CSS pixel is sufficient. If the use case permits, crop to a region rather than retaining the full page.
The script exits without saving the file
Check that the destination directory exists and is writable, that navigation completed without an error, and that the browser is not closed before the screenshot promise resolves. Keep the screenshot call awaited and close the browser in a finally block so cleanup happens after capture.
Or skip the browser setup
If you need a screenshot without installing and managing a browser automation runtime, ScreenshotNeo provides a website screenshot API. One GET request can return PNG, JPEG, WebP, or PDF. Its documented features include full-page capture with lazy images loaded, and the request parameters used by other screenshot APIs also work. See the ScreenshotNeo API documentation.
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('fullpage.webp', res);
The example uses Bun’s file-writing API. In a Node.js script, write the response bytes with Node’s filesystem module instead:
Best Value
- Solar-Powered for Extended Battery Life: The wirless camera comes with a high-efficiency solar panel(wire length 59 inch), designed to provide a consistent supplemental power source under adequate sunlight. This significantly reduces the need for manual recharging and supports a more sustainable, low-maintenance surveillance experience. It's an ideal power solution for long-term,wire-free outdoor installation
- 2K UHD Clarity with Night Vision & 3x Zoom: This camera delivers crisp, detailed video day and night. It features standard infrared night vision for clear black-and-white footage in the dark, and a built-in spotlight mode that activates full-color night vision for more vivid details. The 3x digital zoom lets you focus on key areas like faces or license plates. (Compatible with 2.4GHz Wi-Fi networks only)
- Flexible Storage Options: Your event-triggered videos are securely backed up with cloud storage(3 day trial). For extended coverage, you can upgrade to premium cloud plans (subscription required) or insert a microSD card (up to 128GB, not included) for local recording of motion events
- Smart AI Detection & Instant Alerts: Receive prompt phone notifications when motion is detected. The basic motion detection works without any subscription. Can be individually set to recognize humans, so that all moving objects except for humans will not trigger detection
- Two-Way Audio & Real-Time Interaction: Built-in microphone and speaker let you communicate directly through the app. Greet visitors, deter unwanted guests, or check in on your family and pets from anywhere
const fs = require('node:fs/promises');
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await fs.writeFile('fullpage.webp', Buffer.from(await res.arrayBuffer()));
ScreenshotNeo accepts and removes cookie/consent banners, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. The Free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 screenshots. Sign up for the free plan.
Which JavaScript approach should you use?
For a script already running Playwright or Puppeteer, use that library’s full-page option and explicitly manage viewport and page readiness. Use image data instead of a file path when the next step is processing or comparison. For pages with content revealed during scrolling, load that content deliberately and verify the resulting capture rather than treating full-page mode as proof that all content is ready.
Frequently Asked Questions
Can I take a full-page screenshot without saving a file?
Yes. Both libraries support returning screenshot image data when you omit a file path; Playwright also documents a buffer workflow.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Does full-page mode capture an element outside the viewport?
The full-page option captures the page’s scrollable extent. To capture one particular element, use the library’s element screenshot method instead.
Which library is better, Playwright or Puppeteer?
Both provide an explicit full-page option. Prefer the library already used by your project unless another project requirement favors switching.
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.

