October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk4 min

How to Take a Puppeteer Screenshot with a Specific User-Agent

Use Puppeteer’s options-object user-agent API before navigation, then capture a full page or element. Learn when device emulation and viewport settings are needed.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Call page.setUserAgent() with the options-object form before navigating, then capture the page with page.screenshot(). If you need a mobile-style layout as well as a mobile user-agent, emulate a device before navigation: changing the user-agent alone does not set the viewport.

Set a user-agent before navigating

Install Puppeteer in your project if it is not already available, then use this ES module example. Replace the sample URL and user-agent string with the values for your test.

As an Amazon Associate I earn from qualifying purchases.

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();
try {
  const page = await browser.newPage();
  await page.setUserAgent({
    userAgent: 'YOUR USER AGENT STRING',
  });
  await page.goto('https://example.com', { waitUntil: 'networkidle2' });
  await page.screenshot({ path: 'screenshot.png' });
} finally {
  await browser.close();
}

setUserAgent() returns a promise, so await it before goto() when the initial navigation should use that configuration. The screenshot guide demonstrates navigating and then saving an image with page.screenshot({ path: ... }). Its example uses networkidle2, but no single wait condition suits every page; select one that matches the page’s loading behavior. See the Puppeteer user-agent API and screenshot guide.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

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

The current API accepts an options object with optional userAgent, userAgentMetadata, and platform properties. The older positional form is marked obsolete in the API documentation. Check the documentation matching your installed Puppeteer version; the reviewed API page displayed v25.12.0.

#1 Best Overall
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
  • Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
  • Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
  • CanaKit Turbine Black Case for the Raspberry Pi 5
  • CanaKit Low Noise Bearing System Fan
  • Mega Heat Sink - Black Anodized

User-agent override or device emulation?

Choose based on what you need to test. A user-agent string and viewport dimensions are separate settings; changing one does not automatically configure the other.

Approach What it configures Use it when
page.setUserAgent({ userAgent: '…' }) The browser’s configured user-agent value; the options object can also include metadata and platform. You need to test a particular user-agent value and will set any viewport requirements separately.
page.emulate(device) A device profile’s user-agent and viewport. You want a documented device profile and its associated page dimensions.

Puppeteer documents page.emulate(device) as a shortcut for setting the user-agent and viewport. Apply it before navigation: viewport changes can affect rendering, and the device-emulation guide notes that many sites do not expect a phone’s size to change after loading. For a custom user-agent, set an appropriate viewport separately if the target layout depends on screen dimensions. See the device-emulation guide.

Rank #2
CanaKit Raspberry Pi 4 4GB Starter PRO Kit - 4GB RAM
  • Includes Raspberry Pi 4 4GB Model B with 1.5GHz 64-bit quad-core CPU (4GB RAM)
  • Includes Pre-Loaded 32GB EVO+ Micro SD Card (Class 10), USB MicroSD Card Reader
  • CanaKit Premium High-Gloss Raspberry Pi 4 Case with Integrated Fan Mount, CanaKit Low Noise Bearing System Fan
  • CanaKit 3.5A USB-C Raspberry Pi 4 Power Supply (US Plug) with Noise Filter, Set of Heat Sinks, Display Cable - 6 foot (Supports up to 4K60p)
  • CanaKit USB-C PiSwitch (On/Off Power Switch for Raspberry Pi 4)

Emulate a documented device profile

Import a profile from Puppeteer’s KnownDevices and emulate it before opening the URL:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
import puppeteer from 'puppeteer';
import { KnownDevices } from 'puppeteer';

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

Use a profile name available in the KnownDevices list for your installed Puppeteer release. Device emulation is not simply a user-agent override: it also sets viewport dimensions.

Rank #3
ELECROW CrowPi Case Kit for Raspberry Pi 5, 9-Inch Display
  • Not including the Raspberry Pi 5 (8GB), the Crowpi advanced version comes with the Raspberry Pi 5
  • ELECROW Black Case for the Raspberry Pi 5, CrowPi is equipped with a 9-inch HD touchscreen along with a camera; All the regular components used in DIY electronics are packed into the CrowPi development board, such as LCD, LED matrix, buzzer, light sensor, PIR sensor, ultrasonic sensor, IR sensor, etc
  • Raspberry Pi Sensors: The Crowpi raspberry pi 5 programming kit is jam-packed with lots of buttons such as 19 different sensors in a tidy easy to use package; You don't have to wait and wire things
  • Build Quality: Solid ABS shell and well made components in one place make it strong and convenient to travel
  • Programming Lessons: This raspberry pi 5 learning kit ships with step by step instructions and provides 21 lessons to take you through identifying components reading code and running it in the terminal

Choose the screenshot output

Save the full page to a file

For a standard image file, pass a path as in the examples. Puppeteer’s screenshot guide also supports capturing an individual element with ElementHandle.screenshot(). It attempts to scroll an element that is out of view into view by default, which is useful when you want a component rather than the whole page.

Use screenshot bytes or base64

The screenshot API’s default result is a Uint8Array. If the surrounding code needs a base64 string, use the API’s base64 encoding option; consult the screenshot API reference for the current option shape and return type.

Rank #4
CanaKit Raspberry Pi 5 Desktop PC with SSD (Fully Assembled) (256 GB SSD)
  • Fully assembled for plug-and-play operation
  • Includes Raspberry Pi 5 with 8GB RAM
  • 256 GB PCIe Pi NVMe SSD (Pre-loaded with Pi 64-Bit OS)
  • M.2 HAT+
  • CanaKit Turbine Black Case for the Pi 5

Troubleshoot unexpected results

  • The first request appears to use the old user-agent: ensure await page.setUserAgent(...) completes before page.goto(). Setting it after navigation cannot change the request that has already occurred.
  • The site still looks like a desktop page: a user-agent string does not set viewport dimensions. Use page.emulate(device) before navigation or set a suitable viewport as well.
  • The page looks unlike a real phone or browser: the documented settings configure user-agent and viewport values, but they do not guarantee that every site will serve the same content it would to a real device. Validate the result on the target site.
  • The screenshot is incomplete or times out: review the navigation wait condition for the site’s behavior. networkidle2 is an example, not a universal guarantee that a page’s content is ready.
  • Your older code uses positional arguments: switch to the options-object form of setUserAgent(), since the positional form is marked obsolete in the current API documentation.

During a screenshot in a BrowserContext, operations such as creating or closing a page wait for the screenshot operation. page.bringToFront() does not wait for an existing screenshot operation; see the screenshot API reference if coordinating concurrent page work.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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 offers a screenshot API and MCP server for developers. One GET request can return an image or PDF; for example, this cURL request saves a WebP screenshot:

Best Value
RasTech Raspberry Pi 5 8GB Kit with Active Cooler and Pi5 Case
  • 【What you Get】You will get 1*Pi 5 8GB Single Board,1*RasTech Case,1*Active Cooler,1*Screwdriver,1*Installation instructions,12-month free warranty, lifetime service, 24-hour prompt and friendly response.
  • 【More Connectors】There are two USB 3.0 ports(5Gbps simultaneously) and two USB 2.0 ports, which triple total bandwidth ,support any combination of up to two cameras or displays. Peak SD card performance is doubled through support for the SDR104 high-speed mode. It provides a smooth desktop experience for you. Offer Gigabit Ethernet and a PCIe interface, along with dual-band Wi-Fi and Bluetooth 5.0/BLE wireless capability. The RasTech Pi 5 Kit use the new 27W 5.1V 5A USB-C power connector.
  • 【 Support Dual 4Kp60 Display 】Each of the two microHDMI sockets can control a 4K display at 60 Hertz, now support HDR, offering super HD video for media streaming projects. RPi 5 is the first RPi model that comes with a PCI Express port (PCIe 2.0 x1 with 500 MB/s) to attach SSDs (requires separate M.2 HAT).
  • 【 Excellent Chips And Applications】Pi 5 is a full-size Pi computer using silicon built in-house at Pi. The RP1 “southbridge” provides the bulk of the I/O capabilities for Pi 5. Pi 5 is more friendly and convenient in the development of Internet of Things, Web development, machine identification, automatic control and other electronic equipment applications and network.
  • 【 Faster CPU, Better GPU 】 Pi 5 features a Broadcom BCM2712 64-bit quad-core Arm Cortex-A76 processor running at 2.4GHz, it delivers a 2–3× increase in CPU performance relative to RaspberryPi 4. The 800MHz VideoCore VII GPU is compatible to OpenGL ES 3.1 and Vulkan 1.2, substantial uplift in graphics performance. Pi 5 Offers lightning-fast CPU speed, a PCI Express interface, a Real Time Clock (RTC) and a power button and runs significantly cooler than Pi 4.
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. Its clean-shot process accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server gives AI agents tools for taking screenshots, getting page information, and capturing PDFs.

The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Learn about ScreenshotNeo or sign up free for 1,000 screenshots a month, with no card required.

Frequently Asked Questions

Can I change the user-agent after navigating?

You can set it later for subsequent page behavior, but set and await it before navigation when the initial request needs that user-agent.

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

Does setting a mobile user-agent make Puppeteer render a mobile viewport?

No. Set viewport dimensions separately or use a device profile with page.emulate(device) before navigation.

Will a user-agent override make a site behave exactly as it would on a real device?

Not necessarily. Puppeteer documents the configuration, but does not guarantee identical site behavior; validate against the target site.

Quick Recap

Bestseller No. 1
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM); CanaKit Turbine Black Case for the Raspberry Pi 5
$259.95
Bestseller No. 2
CanaKit Raspberry Pi 4 4GB Starter PRO Kit - 4GB RAM
CanaKit Raspberry Pi 4 4GB Starter PRO Kit - 4GB RAM
Includes Raspberry Pi 4 4GB Model B with 1.5GHz 64-bit quad-core CPU (4GB RAM); Includes Pre-Loaded 32GB EVO+ Micro SD Card (Class 10), USB MicroSD Card Reader
$159.99
Bestseller No. 4
CanaKit Raspberry Pi 5 Desktop PC with SSD (Fully Assembled) (256 GB SSD)
CanaKit Raspberry Pi 5 Desktop PC with SSD (Fully Assembled) (256 GB SSD)
Fully assembled for plug-and-play operation; Includes Raspberry Pi 5 with 8GB RAM; 256 GB PCIe Pi NVMe SSD (Pre-loaded with Pi 64-Bit OS)
$339.97

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.

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.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
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.