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

Set Puppeteer’s mobile viewport before opening the product page, then choose whether you need the initial screen, the full page, or a particular element. The example below uses a 390 × 844 CSS-pixel viewport; that is an illustrative choice, not an Indian ecommerce standard. Puppeteer’s documentation describes the available controls but does not prescribe a universal mobile width for these pages.

Choose the capture you need

Decide what the screenshot should show before you configure capture options:

  • Initial viewport: the visible screen at the selected width and height. Leave fullPage off; this is the default.
  • Full product page: set fullPage: true to capture beyond the initial viewport.
  • A region: use clip to capture a specific rectangle.
  • A component: use an element screenshot when you need, for example, the product image or price area rather than the whole page.

These options produce different artifacts. Record the dimensions and capture type alongside the screenshot when they matter to your test or comparison.

Capture the page at a mobile viewport

Install Puppeteer in a Node.js project, then save this as an ES module script (for example, capture.mjs). Replace the example address with the product page you are authorized to access.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Motorola Moto g - 2026 | Unlocked | Made for US 4/128GB | 50MP Camera | Pantone Slipstream, Cellular_Phone
  • 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.****
import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();

try {
  const page = await browser.newPage();

  await page.setViewport({
    width: 390,
    height: 844,
    deviceScaleFactor: 1,
    isMobile: true,
    hasTouch: true,
  });

  await page.goto('https://example.in/product', {
    waitUntil: 'networkidle2',
  });

  await page.screenshot({
    path: 'product-mobile.png',
    fullPage: true,
  });
} finally {
  await browser.close();
}

The example sets the viewport before navigation, as Puppeteer advises; changing viewport settings later can affect a page, and some changes may cause it to reload. The API accepts width and height in CSS pixels and also supports device scale factor, mobile viewport behavior, touch support, and orientation. The values above are only an example to adapt to your capture requirement, not a documented standard for Indian ecommerce.

In this code, fullPage: true requests the entire page. For only the initially visible mobile screen, omit that option or set it to false. networkidle2 is the example’s navigation wait condition; pages with continuing network activity may not reach it as expected.

Use a named device profile when appropriate

If you want a profile defined by Puppeteer rather than manually choosing metrics, use KnownDevices with Page.emulate() before navigating. Emulation combines device metrics and a user agent:

Rank #2
Sale
Samsung Galaxy A17 5G Smart Phone 128GB US 1 Yr Manufacturer Warranty Black
  • 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.
import puppeteer from 'puppeteer';
import { KnownDevices } from 'puppeteer';

const browser = await puppeteer.launch();

try {
  const page = await browser.newPage();
  await page.emulate(KnownDevices['iPhone 13']);
  await page.goto('https://example.in/product', {
    waitUntil: 'networkidle2',
  });
  await page.screenshot({ path: 'product-device.png' });
} finally {
  await browser.close();
}

Use a device name available in the installed Puppeteer version. A named profile is an emulation configuration; it does not establish that the result reproduces every behavior of a physical handset or its network. The official documentation results consulted surfaced Puppeteer 25.10.0 for KnownDevices, 25.11.0 for Page.emulate(), and 25.12.0 for the viewport and screenshot APIs. These are documentation version contexts, not confirmation of the version installed in your project.

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

Capture only a product-page element

When the desired image is one component, locate it and use the element screenshot method. Puppeteer documents that this scrolls the target into view if needed.

const productImage = await page.waitForSelector('.product-image');
if (!productImage) {
  throw new Error('Product image element was not found');
}
await productImage.screenshot({ path: 'product-image.png' });

Replace .product-image with a selector that matches the page. Waiting for the selector makes the script fail clearly if that element does not appear, instead of silently producing an unrelated capture.

Rank #3
Samsung Galaxy A16 5G 128GB Cell Phone, Unlocked Android Smartphone, Large AMOLED Display, Durable Design, Super Fast Charging, Expandable Storage, US Version, 2025, Blue Black (Renewed)
  • 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.

Adjust screenshot output

Page.screenshot() supports output path, image type, quality for supported formats, clipping, full-page capture, and transparent-background behavior. Select only the options that match the artifact you need:

  • Use path to write the image to a file. The basic examples use PNG.
  • Use type when you need a supported image format such as JPEG or WebP; quality is relevant for supported lossy formats.
  • Use clip when a rectangular region is required instead of the complete viewport or page.
  • Use omitBackground when a transparent background is needed and the selected output format supports transparency.
  • Use fullPage to capture the page beyond the viewport; otherwise the default is viewport capture.

For reproducible comparisons, keep viewport dimensions, device scale factor, emulation choice, capture scope, and output format consistent between runs.

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.

Troubleshooting

The result has desktop layout or unexpected scaling

Set the viewport or apply the named device profile before goto(). Check that isMobile and deviceScaleFactor match your intended configuration; a width and height alone do not describe every device behavior.

Rank #4
Sale
Samsung Galaxy A17 5G Smart Phone 128GB, US 1 Yr Manufacturer Warranty Blue
  • 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.

The page reloads or changes after viewport adjustment

Configure the viewport before navigation. Puppeteer notes that resizing can affect sites and some viewport changes can reload a page.

The screenshot stops before the bottom of the product page

Confirm that fullPage: true is set. If you only want the first screen, leave it off. For a single component, use an element screenshot instead.

The element screenshot fails or captures the wrong thing

Verify the selector against the loaded page and wait for it with waitForSelector before taking the screenshot. A site may render different markup at mobile width, so a selector that works in a desktop capture may not match.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Tracfone Motorola Moto G 2025, 64GB, Saphire Blue (Locked to
  • 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.

Navigation does not finish

A page with ongoing network activity may not satisfy networkidle2. Choose a wait condition suited to the page and, for element-specific work, wait for the relevant selector before capture. No particular wait strategy guarantees that every dynamically loaded product asset has appeared.

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 is a website screenshot API and MCP server for developers. One GET request can return a PNG, JPEG, WebP, or PDF. Cookie and consent banners are accepted like a visitor and more than 60 known consent platforms, newsletter popups, and chat widgets are removed before capture; each step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers report the page verdict and billing status. AI agents can use its MCP server tools, including take_screenshot, get_page_info, and capture_pdf. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000.

Example request (replace the URL with the product page):

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

See the ScreenshotNeo API documentation for request options. Learn more at ScreenshotNeo, or sign up free for 1,000 screenshots a month with no card.

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.