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
Use Playwright’s full-page screenshot option: in JavaScript, call await page.screenshot({ path: 'page.png', fullPage: true }). It captures the page’s full scrollable area rather than only the visible viewport. For a very tall page, choose the output scale deliberately and check whether the site’s lazy-loaded content or nested scroll regions need separate handling.
Capture the full scrollable page
Playwright’s documented full-page option asks for an image of the page as if the whole scrollable page fit on a very tall screen. It is not limited to the part currently visible in the browser viewport. See the Playwright Screenshots guide.
JavaScript or TypeScript
await page.screenshot({ path: 'page.png', fullPage: true });
Use this after navigating to the target page and obtaining a Playwright Page object. The call writes the screenshot to page.png.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsPython
page.screenshot(path='page.png', full_page=True)
Python uses the keyword full_page with an underscore; JavaScript uses fullPage.
#1 Best Overall
Choose an output scale for a tall capture
For a one-image-pixel-per-CSS-pixel result, set scale: 'css' in JavaScript or scale="css" in Python. The screenshot API’s default device scale can produce substantially larger images on high-DPI devices. For a tall page, that can mean a much larger output file and more memory needed to handle it. Check the installed version’s Page screenshot API reference for supported options.
// JavaScript / TypeScript
await page.screenshot({ path: 'page.png', fullPage: true, scale: 'css' });
# Python
page.screenshot(path='page.png', full_page=True, scale="css")
Choose the scale based on the destination: CSS scale keeps dimensions closer to the page’s CSS-pixel dimensions, while device scale preserves device-pixel detail and may create a larger image.
Rank #2
Save the file or process screenshot bytes
Set path to save the image directly. If you omit it, the screenshot API can return image bytes for further processing instead. The Page API also documents a timeout option; if a tall-page capture fails or an option is unavailable, consult the API reference for the Playwright version installed in your project.
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 reinstallCrashes, 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 minuteCheck lazy-loaded content and nested scrolling
A full-page capture covers the page’s full scrollable area, but the documented behavior does not guarantee that content loaded only after scrolling—such as lazy-loaded images—will be fetched automatically. Nor does it establish that nested scroll containers are expanded. Verify these behaviors on the specific page before treating the image as a complete record.
Rank #3
- If lower-page images are absent, check whether the site loads them only when they enter the viewport; trigger the page behavior needed to load them before capturing.
- If a content area has its own scrollbar, check it separately: a full-page screenshot is not documented as expanding nested scroll regions.
- For a page that changes while loading, make sure its relevant content is present before taking the screenshot.
Troubleshoot common tall-page capture issues
The output contains only the visible area
Confirm the option is enabled and spelled for the language in use: fullPage: true in JavaScript or full_page=True in Python.
The image file is unexpectedly large
Check whether the screenshot is using the default device scale on a high-DPI device. Try scale: 'css' when one pixel per CSS pixel is appropriate.
The capture times out or an option is rejected
Check the installed Playwright version’s Page screenshot API reference for the timeout setting and other option availability, then adjust the call to match that version.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Lazy-loaded images or content inside a scrollable panel are missing
The official screenshot documentation does not promise automatic loading of lazy content or expansion of nested scroll containers. Trigger loading as the page requires and inspect nested areas as a separate page-specific case.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
ScreenshotNeo can return a screenshot from one GET request, without setting up a Playwright browser. For 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. Before capture, ScreenshotNeo accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; those steps can each be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server provides screenshot tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
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.

