The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →To capture a product page with lazy-loaded images, scroll through the image regions first, let the page request and render them, check that the relevant images have finished loading, and then take the screenshot. The browser’s initial load event alone does not guarantee that off-screen lazy images are ready. Use a full-page capture for the whole product page or an element capture for a gallery or product card.
Why lazy-loaded images go missing
Lazy loading defers non-critical resources until they are needed. With loading="lazy", a browser generally waits until an image is within a browser-calculated distance of the viewport before fetching it. A screenshot does not, by itself, trigger requests for images that have not yet come near the viewport. See MDN’s explanation of lazy loading.
As an Amazon Associate I earn from qualifying purchases.
The window load event is not a reliable signal that all such images are ready: lazy images may still be unloaded when that event fires. The image element’s Boolean complete property is useful to check, but it should be paired with a check for failed loads and a visual inspection of the intended content. See MDN’s documentation for HTMLImageElement.complete.
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 errorsChoose what to capture
| Target | Playwright approach | Use it when |
|---|---|---|
| Whole page | page.screenshot({ fullPage: true }) |
You need the complete scrollable product page. |
| One element | locator.screenshot() |
You need only a product image, gallery, or card, without surrounding page content. |
Playwright describes a full-page screenshot as capturing the full scrollable page as though it were displayed on a very tall screen. Its screenshot API also supports element captures and options such as image type, scale, and clipping. See the Playwright screenshot documentation.
#1 Best Overall
- Universal unlocked. Compatible with all major U.S. carriers, including Verizon, AT&T, T-Mobile and other prepaid carriers.
- Super-bright, super-smooth 6.7" display. See your screen clearly even outdoors in sunlight, and enjoy seamless views with a fast-refreshing 120Hz display.*
- AI-powered camera system. Take stunning photos in any light with the 50MP camera**, look your best with a 32MP selfie cam*****, and capture extreme close-ups.
- Superfast 5G performance. Unleash your entertainment at 5G speed*** with the MediaTek Dimensity 6300 chipset and up to 12GB of RAM with RAM Boost****.
- Long-lasting battery + TurboPower charging. Power through day after day with a 5200mAh battery, then get hours of power in just minutes.****
Capture a lazy-loaded product page with Playwright
This Node.js example scrolls through the document in increments, waits for the page’s image elements to settle, checks for images that did not load, and saves a full-page PNG. The increment and image timeout are starting points, not universal settings: the right values and interactions depend on the site.
- Install Playwright and its browser: run
npm init -y, thennpm install playwrightandnpx playwright install chromium. - Save this as
capture.mjs:import { chromium } from 'playwright'; const url = process.argv[2]; if (!url) throw new Error('Usage: node capture.mjs <product-page-url>'); const browser = await chromium.launch({ headless: true }); const page = await browser.newPage({ viewport: { width: 1440, height: 900 } }); try { await page.goto(url, { waitUntil: 'load', timeout: 60000 }); // Move through the document to bring lazy-image regions near the viewport. await page.evaluate(async () => { const step = Math.max(300, Math.floor(window.innerHeight * 0.75)); for (let y = 0; y < document.documentElement.scrollHeight; y += step) { window.scrollTo(0, y); await new Promise(resolve => setTimeout(resolve, 150)); } window.scrollTo(0, 0); }); // Wait for image elements to finish; incomplete or broken images are reported below. await page.waitForFunction(() => [...document.images].every(img => img.complete), { timeout: 30000 } ).catch(() => {}); const imageStatus = await page.evaluate(() => [...document.images] .filter(img => !img.complete || img.naturalWidth === 0) .map(img => ({ src: img.currentSrc || img.src, complete: img.complete })) ); if (imageStatus.length) { console.warn('Images still incomplete or failed:', imageStatus); } await page.screenshot({ path: 'product-page.png', fullPage: true }); } finally { await browser.close(); } - Run it:
node capture.mjs https://example.com/product. Replace the URL with the product page you are allowed to access. The screenshot is saved asproduct-page.pngin the current directory.
The readiness check tests whether each image element reports completion; naturalWidth === 0 flags an image that did not render successfully. If a product gallery loads images only after a click, or if new results appear as you scroll, add the page-specific interaction before capturing rather than treating the generic scroll loop as sufficient.
Rank #2
- YOUR CONTENT, SUPER SMOOTH: The ultra-clear 6.7" FHD+ Super AMOLED display of Galaxy A17 5G helps bring your content to life, whether you're scrolling through recipes or video chatting with loved ones.¹
- LIVE FAST. CHARGE FASTER: Focus more on the moment and less on your battery percentage with Galaxy A17 5G. Super Fast Charging powers up your battery so you can get back to life sooner.²
- MEMORIES MADE PICTURE PERFECT: Capture every angle in stunning clarity, from wide family photos to close-ups of friends, with the triple-lens camera on Galaxy A17 5G.
- NEED MORE STORAGE? WE HAVE YOU COVERED: With an improved 2TB of expandable storage, Galaxy A17 5G makes it easy to keep cherished photos, videos and important files readily accessible whenever you need them.³
- BUILT TO LAST: With an improved IP54 rating, Galaxy A17 5G is even more durable than before.⁴ It’s built to resist splashes and dust and comes with a stronger yet slimmer Gorilla Glass Victus front and Glass Fiber Reinforced Polymer back.
Adapt the capture to the page
Capture a gallery or product card only
After triggering and waiting for the relevant images, select the intended element and capture it instead of the whole page:
const gallery = page.locator('[data-testid="product-gallery"]');
await gallery.screenshot({ path: 'product-gallery.png' });
Replace the selector with one that exists on the target site. A locator screenshot is useful when a full-page image would include unrelated navigation, recommendations, or page content.
Rank #3
- Charger NOT Included, 6.7" Super AMOLED FHD+, 90Hz Refresh Rate, 385 ppi, 800 nits (HBM), 1080x2340px, 5000mAh Battery
- 128GB, 4GB RAM, microSDXC, Exynos 1330 (5nm), Octa-Core, Mali-G68 MP2 or Mali-G57 MC2 GPU
- Rear Camera: 50MP, f/1.8 (wide) + 5MP, f/2.2 (ultrawide) + 2MP, f/2.4 (macro), LED flash, panorama, HDR; Front Camera: 13MP, f/2.0, Android 14, up to 6 major Android upgrades, One UI 6.1
- 3G: HSDPA 850/900/1700(AWS)/1900/2100; 4G LTE: 1/2/3/4/5/7/12/13/14/20/25/26/28/29/30/38/39/40/41/48/66/71, 5G: 2/5/25/41/66/71/77/78 SA/NSA/Sub6/mmWave - Nano-SIM + eSIM
- US Model – Global Connectivity – Compatible with Most GSM Carriers like T-Mobile, AT&T, MetroPCS, etc. Will Also work with CDMA Carriers Such as Verizon, Straight Talk.
Use a different format or scale
Playwright’s screenshot options let you select an image type and scale. Choose the output to suit its destination—for example, PNG when you need a lossless image. The API also supports clipping when you need a specific region. Consult the official screenshot API documentation for supported options.
Handle nonstandard scrolling
A page with a virtualized grid, nested scroll container, or infinite scroll may not load all intended content when the main document is scrolled. A virtualized list may remove earlier items from the page; a nested gallery may require scrolling that container; an infinite feed needs a page-specific stopping condition. The standard browser documentation does not define one universal procedure for these cases. Inspect the target page and implement the interactions and stopping rule that match its behavior.
Rank #4
- YOUR CONTENT, SUPER SMOOTH: The ultra-clear 6.7" FHD+ Super AMOLED display of Galaxy A17 5G helps bring your content to life, whether you're scrolling through recipes or video chatting with loved ones.¹
- LIVE FAST. CHARGE FASTER: Focus more on the moment and less on your battery percentage with Galaxy A17 5G. Super Fast Charging powers up your battery so you can get back to life sooner.²
- MEMORIES MADE PICTURE PERFECT: Capture every angle in stunning clarity, from wide family photos to close-ups of friends, with the triple-lens camera on Galaxy A17 5G.
- NEED MORE STORAGE? WE HAVE YOU COVERED: With an improved 2TB of expandable storage, Galaxy A17 5G makes it easy to keep cherished photos, videos and important files readily accessible whenever you need them.³
- BUILT TO LAST: With an improved IP54 rating, Galaxy A17 5G is even more durable than before.⁴ It’s built to resist splashes and dust and comes with a stronger yet slimmer Gorilla Glass Victus front and Glass Fiber Reinforced Polymer back.
Troubleshooting missing or inconsistent images
- Images are blank despite waiting for
load: scroll through the image regions, then check image completion and rendered dimensions. Lazy images may not be requested by the time the window event fires. - The script reports incomplete or failed images: inspect the reported image URLs and the page’s network or console errors. A completed image element with a natural width of zero did not render successfully; the capture cannot fix a failed request.
- Only the first part of a long page appears populated: the page may use infinite scroll or virtualization. Determine how it adds content and whether older items remain in the document; the ordinary document-scroll workflow cannot guarantee coverage.
- A gallery stays unchanged: check whether images load only after selecting a thumbnail, opening a gallery, or interacting with another control. Add that interaction before the final readiness check.
- Repeated captures differ: dynamic content, animation, or site-specific loading can change between runs. Stabilize the relevant page state with appropriate interactions and checks; a fixed delay alone is not a universal guarantee.
Or skip the browser setup
ScreenshotNeo can capture a page through one API request. Its clean-shot steps accept cookie or consent banners and remove more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. It also provides an MCP server with screenshot tools for AI agents.
PC 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 & 11Outdated 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 matchUse the API key from your ScreenshotNeo account. The following cURL call captures the product page as WebP; see the ScreenshotNeo API documentation for request options.
curl -G "https://api.screenshotneo.com/v1/shot"
-d access_key=YOUR_API_KEY
--data-urlencode url=https://example.com/product
-o product.webp
ScreenshotNeo offers 1,000 shots per month free with no card; paid plans start at $5 for 3,000 shots. Sign up for the free plan.
Quick Recap
Best Value
- Carrier: This phone is locked to Tracfone, which means this device can only be used on the Tracfone wireless network. Tracfone plan required, activating is easy, just 3 steps.
- DISPLAY: Immersive viewing on a 6.7-inch super-bright 120Hz display with powerful stereo speakers and Bass Boost for cinematic entertainment.
- CAMERA SYSTEM: Advanced 50MP Quad Pixel camera captures sharp, detailed photos and videos in any lighting condition
- PERFORMANCE: Lightning-fast 5G connectivity paired with a powerful processor and RAM Boost for smooth multitasking.
- BATTERY LIFE: Long-lasting 5000mAh battery with TurboPower charging technology delivers hours of power in minutes.
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.

