Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
FREEDOM251

Freedom251 › Blog › Automation

How to Capture Screenshots of Indian E-commerce Product Pages in Bulk

By Freedom251 Team · · 7 min read

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

For a repeatable batch, put the product-page URLs in a list, use browser automation such as Playwright to visit each URL, and save one screenshot per page under a stable filename such as its SKU or internal record ID. Choose viewport, full-page, or element capture before the run; wait for the content you need; and log the URL, capture time, and any error in a manifest. The method is an orchestration pattern built from documented single-page capture operations, not a tested throughput benchmark or a guarantee that any marketplace permits automated access.

Plan the batch before you capture

Start with a list of the exact product-page URLs you are authorized to access. Give each row a stable identifier—preferably a SKU or internal record ID—and use it to name the output file. Keep a separate manifest with the identifier, URL, capture timestamp, chosen capture mode, and any navigation or capture error. This makes it possible to trace an image back to its source without relying on a product title that may change or contain filename-hostile characters.

As an Amazon Associate I earn from qualifying purchases.

  • Decide whether you need the visible viewport, the whole scrollable page, or one product-detail element.
  • Set a consistent browser viewport and device scale for pages you intend to compare.
  • Choose an output format for your downstream use; the available evidence does not establish one universally best format.
  • Check applicable marketplace terms and obtain authorization where required before automating access.

Choose what each screenshot should show

Viewport capture

A viewport screenshot records the visible browser area. It is useful for a consistent above-the-fold record, but it will not include details lower on the page.

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

Full-page capture

Playwright describes a full-page screenshot as capturing the full scrollable page, as if it could fit on a very tall screen. This preserves below-the-fold context in one image. Product pages may defer loading images or other content until scrolling; full-page capture alone should not be treated as proof that every deferred asset has loaded. If those assets matter, test a suitable scrolling or wait strategy on the pages you are permitted to access.

#1 Best Overall

Element capture

Capture a specific element when the evidence you need is a focused region, such as a product detail panel, rather than the full page. The selector must match the intended element on the target page; page structures can differ across sites and change over time.

Capture a URL list with Playwright

Playwright documents page screenshots, full-page and element capture, and screenshot output options. The script below repeats the single-page navigation and capture workflow for each row in a CSV, saves files by stable ID, and writes a JSON-lines manifest that records success or failure. It uses a viewport screenshot by default; change the indicated option if you need full-page capture.

Install Playwright and its Chromium browser in your project environment, then prepare products.csv with the headers id,url. Keep identifiers unique and URLs valid. The example uses Node.js with Playwright’s Chromium automation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
npm install playwright
npx playwright install chromium

Save this as capture.mjs:

import { chromium } from 'playwright';
import { createReadStream, mkdirSync, appendFileSync } from 'node:fs';
import { createInterface } from 'node:readline';

const input = 'products.csv';
const outputDir = 'screenshots';
const manifest = 'manifest.jsonl';
const viewport = { width: 1440, height: 1000 };
const timeoutMs = 30000;

mkdirSync(outputDir, { recursive: true });

function safeName(value) {
  return value.replace(/[^a-zA-Z0-9._-]/g, '_');
}

const lines = createInterface({ input: createReadStream(input), crlfDelay: Infinity });
let header = true;
let browser;

try {
  browser = await chromium.launch({ headless: true });
  const context = await browser.newContext({ viewport });

  for await (const line of lines) {
    if (header) { header = false; continue; }
    if (!line.trim()) continue;

    // This simple CSV reader expects unquoted id,url fields with no commas in either field.
    const comma = line.indexOf(',');
    if (comma < 1) {
      appendFileSync(manifest, JSON.stringify({ line, status: 'error', error: 'Expected id,url fields' }) + 'n');
      continue;
    }
    const id = line.slice(0, comma).trim();
    const url = line.slice(comma + 1).trim();
    const startedAt = new Date().toISOString();
    const file = `${outputDir}/${safeName(id)}.png`;
    const page = await context.newPage();

    try {
      const response = await page.goto(url, { waitUntil: 'domcontentloaded', timeout: timeoutMs });
      // Replace this with a site-appropriate selector when a specific product region is required.
      await page.locator('body').waitFor({ state: 'visible', timeout: timeoutMs });
      // For full-page output, use: await page.screenshot({ path: file, fullPage: true });
      await page.screenshot({ path: file, fullPage: false, type: 'png' });
      appendFileSync(manifest, JSON.stringify({ id, url, file, startedAt, capturedAt: new Date().toISOString(), status: 'ok', httpStatus: response?.status() ?? null }) + 'n');
    } catch (error) {
      appendFileSync(manifest, JSON.stringify({ id, url, file, startedAt, failedAt: new Date().toISOString(), status: 'error', error: String(error) }) + 'n');
    } finally {
      await page.close();
    }
  }
  await context.close();
} finally {
  await browser?.close();
}

Run it with node capture.mjs. The manifest is append-only: remove or archive an old manifest before a fresh run if you want it to contain only that run’s records. The CSV handling above is deliberately simple and does not parse quoted commas; use a CSV parser if your IDs or URLs can contain commas or quoted fields. For element capture, replace the screenshot call with a locator for a verified selector and that locator’s screenshot method. Playwright also supports capturing to an in-memory buffer when files should be uploaded or processed rather than saved locally.

Rank #2
Dell Latitude 5420 14" FHD Business Laptop Computer, Intel Quad-Core i5-1145G7, 16GB DDR4 RAM, 256GB SSD, Camera, HDMI, Windows 11 Pro (Renewed)
  • 256 GB SSD of storage.
  • Multitasking is easy with 16GB of RAM
  • Equipped with a blazing fast Core i5 2.00 GHz processor.

Make the batch dependable and reviewable

Wait for the content that matters

domcontentloaded waits for the initial document parsing, not for every image, recommendation panel, or client-rendered detail. When a particular product field is essential, wait for its selector to become visible rather than assuming a fixed delay is sufficient. A site-specific delay can help with known delayed rendering, but it is not a universal readiness signal. Avoid relying on a global network-idle condition without checking how the site behaves; ongoing requests can make that condition unsuitable.

Handle failures without losing the rest of the run

The example catches errors per URL, logs them, and proceeds to the next row. That separates a single timeout or navigation failure from a batch-wide failure. Inspect HTTP status values in the manifest, too: a browser may successfully render an error page or redirect even when the requested product page was not obtained. Decide whether to retry selected failures, and record retries rather than silently overwriting the original outcome.

Quality-check a sample

Open a representative sample of output files and check for blank pages, consent or other overlays, incomplete images, unexpected redirects, and inconsistent dimensions. These are checks to perform in your own workflow, not issues established by a test of Indian marketplace pages. If full-page images are unusually tall, consider whether the complete page is necessary or an element capture better matches the evidence you need.

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

Performance, reliability, and storage

The work grows with the number of URLs because each page must be navigated and captured. No sourced benchmark establishes a safe concurrency level, throughput, or completion time for Indian e-commerce pages. Begin with sequential capture as in the example; if you introduce concurrency, keep it controlled, respect the target site’s terms and capacity, and monitor failures and output quality. Large full-page images consume more storage than viewport images in many workflows, but the available sources do not quantify file-size differences. Choose resolution and format according to the record’s intended use and retention needs.

Rank #3
15.6 Inch Win 11 Laptop Computer, N4020, 4GB DDR4 RAM, 128GB Storage | LPDDR4 RAM, 180° Lay-Flat, Dual-Band WiFi, Type-C PD Fast Charging, Thin & Lightweight for Students, Home & Office, Gray
  • WINDOWS 11 | STABLE PERFORMANCE: Powered by Intel Celeron N4020 processor and Windows 11 system, this laptop delivers stable performance for everyday computing tasks. It supports web browsing, online learning, document editing, email communication, and basic office work with optimized power efficiency, providing a practical and reliable experience for essential daily use for daily use.
  • 15.6” FHD IPS DISPLAY: Features a 15.6-inch Full HD IPS display with narrow bezels, offering wider viewing angles and clearer image details compared to standard panels. The improved screen-to-body ratio enhances visual experience for study, reading, document work, and video playback, making it suitable for both productivity and entertainment use.
  • 4GB DDR4 + 128GB eMMC STORAGE: Equipped with 4GB DDR4 memory and 128GB eMMC storage for everyday basics such as browsing, documents, email, and online learning platforms. The built-in TF card slot supports storage expansion up to 1TB, giving you more flexibility for files, photos, videos, and daily documents. TF card not included.
  • CONNECTIVITY & PORTS: Includes 1× TF card slot, 2× USB 3.2 Gen1 ports, and 2× full-featured Type-C ports (USB 3.2 Gen1). The Type-C ports support data transfer, charging, and video output, enabling flexible connection with external devices such as monitors, storage, and peripherals for daily work and study use.
  • LIGHTWEIGHT DESIGN | ONLINE COMMUNICATION: Designed with a slim, portable profile, this laptop is easy to carry for school, commuting, and travel. A built-in 1MP front camera supports online classes, video meetings, remote communication, and everyday conferencing. The 3300mAh battery works with the low-power system design to support practical daily use, while thermal optimization helps maintain quieter operation during extended tasks.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Marketplace access and permissions

Amazon.in says store access and use are subject to its Business Solutions Agreement, other applicable policies, and applicable laws and regulations, and its notice reserves the right to remove information or end access for non-compliance. That statement does not determine whether a particular automated screenshot workflow is allowed. Review the current terms and any applicable seller, developer, or API agreement for each marketplace, including any Indian site you plan to capture, and seek authorization when needed. The available policy information does not establish rules for Flipkart or other Indian marketplaces.

Or skip the browser setup

ScreenshotNeo is a screenshot API and MCP server for developers. One GET request can return a screenshot or PDF; its consent-cleanup steps can be turned off individually. Before using it on Indian marketplace pages, check the applicable site terms and confirm that your intended access is authorized. See the ScreenshotNeo API documentation.

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

Replace the example target with an authorized product-page URL. ScreenshotNeo removes cookie/consent banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, failed loads, and cache hits are not billed. Its MCP server provides screenshot tools for AI agents. The Free plan includes 1,000 shots per month with no card, and 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 ScreenshotNeo’s free plan to try 1,000 screenshots a month with no card.

Frequently Asked Questions

Can I save full-page screenshots instead of only the visible area?

Yes. In the Playwright example, set fullPage: true in the screenshot call. Check that content loaded on scroll is present before relying on the result.

Does this workflow establish that Amazon.in or Flipkart allows automated screenshots?

No. Amazon.in’s policy notice points to its governing agreements, policies, and applicable laws but does not decide whether a specific automation use is permitted; the available information does not establish Flipkart’s rules. Check current terms and obtain authorization where necessary.

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.

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

AutomationE-commercePlaywrightScreenshotNeoweb screenshots

Leave a Reply

Your email address will not be published. Required fields are marked *

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

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.