Set the device scale factor in your browser’s emulation settings before navigating to the page, then choose the screenshot’s output scale separately. In Playwright, use deviceScaleFactor when creating a browser context; in Puppeteer, set it with page.setViewport() before page.goto(). In Playwright, scale: "css" produces one image pixel per CSS pixel, while scale: "device" produces one image pixel per device pixel.
Device scale factor and screenshot scale are different settings
The device scale factor (deviceScaleFactor) is an emulated device metric. It affects how the browser represents device pixels relative to CSS pixels. The screenshot setting controls which of those pixel units determine the output image dimensions. In Playwright, these are separate choices: configure the factor in the browser context, then choose scale when taking the screenshot.
As an Amazon Associate I earn from qualifying purchases.
For a capture spanning W by H CSS pixels at device scale factor d, device-pixel output is expected to be approximately W×d by H×d pixels. This follows from the pixel definitions; capture boundaries and rounding can affect exact dimensions.
- Use CSS scale when you need one output pixel per CSS pixel.
- Use device scale when you need one output pixel per device pixel.
- Select the capture scope separately: viewport, element, clipped region, or full page.
Playwright: set the factor on the browser context
Create a context with the viewport and device scale factor, then create the page, navigate, and capture. Playwright’s emulation guide shows a 2560 by 1440 viewport with a factor of 2 as an example; that is an API example, not a universal recommended setting.
#1 Best Overall
- FEATURE: the tripod phone mount is adjustable by screw mechanism, 360 degree rotating, vertical(portrait mode) and horizontal(landscape mode) or any angle as you need, not necessary to take your cell phone out of a standard tripod or small tripod.
- EASY TO USE: two options for using tripod phone holder: 1. screw it directly to the tripod or selfie stick with pivoting arm, being able to 360 degrees rotating, 2. remove the phone clamp from pivoting arm and then mount on a tripod or monopod.
- ADJUSTABLE WIDTH: 2.2inch-4.1inch(55mm-105mm), attachable to any regular-size smartphone, tripod, selfie stick, monopod or camera; two standard 1/4 x 20mm female thread interfaces meeting your various needs. Very functional and compact.
- MATERIAL: the black part made of sturdy plastic, the female threads inserted are brass, the male screw is steel and soft non-slipping silica gel pads, which protect your cellphone from scratch and hold the phone securely.
- ATTACHABLE TO: most mobile phones, tripods, unipods, selfie sticks, cameras, camcorders, pico projectors, including iPhone 11/11 Pro/11 Pro Max/X/XS/XR/XS Max/8/7/6/6s Plus/SE/5s/5/5c, Samsung Galaxy S10/10+/S9/S9+/S8/S8+/S7/S6/S6 edge, Note10/10+/9/8 and Android phones.
const context = await browser.newContext({
viewport: { width: 1280, height: 800 },
deviceScaleFactor: 2,
});
const page = await context.newPage();
await page.goto('https://example.com');
await page.screenshot({ path: 'page.png', scale: 'device' });
Change scale to 'css' for one image pixel per CSS pixel. The Playwright screenshot documentation describes the scale and capture options. Choose the viewport, element, or full-page scope to match the artifact you need; for example, full-page capture can extend beyond the current viewport.
Puppeteer: set the viewport before navigation
Set width, height, and deviceScaleFactor with page.setViewport(), then navigate and capture. Puppeteer advises setting the viewport first because some websites do not expect their dimensions to change after navigation. Its Page.setViewport() documentation contains that guidance.
Rank #2
- Dual Cold Shoe Mounts: Attach microphones, lights, and accessories for enhanced photography or vlogging.
- Versatile Screw Design: 1/4" screw hole compatible with tripods, selfie sticks, cameras, and various accessories.
- 360° Rotation, 180° Tilt: Effortlessly switch between landscape and portrait mode with adjustable angle design for precise control.
- Universal Phone Compatibility: Fits smartphones from iPhone 14 to Galaxy S23 Ultra, accommodating devices within 2.16" to 3.7" width. For best results, avoid clamping directly on the side buttons. Adjust the position slightly higher or lower if your phone has thick cases or protruding buttons.
- Secure Grip: Thick non-slip silicone pad ensures stability even with a thick phone case.
const page = await browser.newPage();
await page.setViewport({
width: 1280,
height: 800,
deviceScaleFactor: 2,
});
await page.goto('https://example.com');
await page.screenshot({ path: 'page.png', fullPage: true });
Puppeteer’s screenshot guide documents capture options such as full-page capture and clipping. Check the API reference for your installed Puppeteer version when choosing exact options.
Chromium directly: use the DevTools Protocol
When your automation layer does not expose device emulation directly, Chromium’s Chrome DevTools Protocol provides Page.setDeviceMetricsOverride with viewport dimensions and a deviceScaleFactor. The protocol documentation notes that a factor of zero disables the override. This is a lower-level route, and protocol support or experimental status can vary by browser version; consult the documentation for the Chromium version you run: Page domain and Emulation domain.
Rank #3
- 🏆【Latest Metal Phone Tripod Mount】: 360° rotation smartphone holder with 2 side cold shoe and 1 back cold shoe & 1/4" Expand Hole Design, you can attach additional LED light, microphone or other film device. It helps you film steady vlogging video for Facebook, Youtube, and platforms as well as live streaming channels.
- 🏆【Back Cold Shoe & Two 1/4" Expand Hole Design】: There is a cold shoe on the back, which solves the problem that the wireless microphone cannot be fixed during mobile phone recording. Two 1/4" screw hole help you expand the devices you want.
- 🏆【Standard Arca Mount on Bottom】- ULANZI Iron Man IV with a standard Aka quick release plate port, quick installation. A 1/4 screw port is added at the bottom to connect tripods. It is all aluminum metal made. Solid, Durable and Safer.
- 🏆【Side Double Cold Shoe Design】: ULANZI ST-27 with 2 cold shoes on the side, you can mount your fill light & microphone at same time. It is be the best choice for your vlog.
- 🏆【Extra Wide Compatibility】: Ulanzi phone tripod mount compatible with iPhone17 16 15 14 13 12/12Pro/12Pro Max/11/11Pro/11Pro Max/X/Xs/XR/Xs Max,8/7/6/6s, iPhone 6/6s plus, iphone SE,Samsung Galaxy s10s10 plus S9/S9+,S8/S8+/S7/S6/S6 edge, Note 10 9 8 5 4 3 and many other brands and models
Manual capture in Chrome DevTools
Chrome DevTools device mode simulates device conditions and provides a viewport screenshot action. Its documentation also covers capture with a device frame in device-specific mode. The documented workflow supports manual viewport capture, but does not establish a general way to enter an arbitrary custom device scale factor in the screenshot dialog. See Simulate mobile devices with device mode.
Choose the approach that fits the workflow
| Approach | Where you set emulation | Best suited to | Output controls |
|---|---|---|---|
| Playwright | Browser context via deviceScaleFactor |
Scripted browser automation | Explicit CSS-pixel or device-pixel screenshot scale; viewport, element, or full-page scope |
| Puppeteer | Page viewport via page.setViewport() |
Scripted browser automation | Screenshot scope, clipping, type, and background options in its documentation |
| Chrome DevTools Protocol | Device metrics override | Lower-level Chromium control | Protocol-level viewport and device scale settings; version details may vary |
| Chrome DevTools device mode | Interactive device emulation | Manual inspection and viewport capture | Documented viewport screenshot and device-frame capture |
Playwright, Puppeteer, and protocol APIs can change. Use documentation that matches your installed package or browser version.
Rank #4
- 【Sturdy and Stable】: Made of premium aluminum alloy and stainless steel, Liphisy phone tripod with remote keeps your device stay securely in place for still shots and video recording.
- 【Multi-angle Shot】: With a max height of 64”, this tripod stand with a 210-degree rotation head and 360-degree rotation holder allows you to capture shots from any angle, catering to different photography needs.
- 【Wireless Remote Included】: Package includes a wireless remote that connects to your cell phone easily, making it a breeze to snap photos or video recordings.
- 【Height Adjustable】: The height of this cell phone tripod with remote can be adjusted from 17” to 64” and the easy lock mechanism makes it really easy to set up. It gives you an excellent vantage point for capturing photos and videos.
- 【Wide Application】: Compatable with different phone and camera, this tripod is great for photography and video recording, perfect for travel and home use.
Troubleshoot unexpected screenshot dimensions
The image is larger than the CSS viewport
Check whether Playwright is using scale: 'device'. At factor 2, device-pixel output is expected to be about twice the CSS dimensions in each axis. Use scale: 'css' if the intended output is one pixel per CSS pixel.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
The image is the expected size but looks low-resolution
Verify that the context or page was configured with the intended factor before navigation. Also check that the screenshot is using device scale where supported and desired; changing only the output scale does not configure the page’s emulated device metric.
Best Value
- Universal Phone Holder: This multifunctional phone clamp can be mounted on the top of a camera or tripod through 1/4"-20 threaded hole or cold shoe at the bottom for photography, live-streaming, vlogging, interviews, etc
- Support Landscape and Portrait Modes: The phone holder can be quick switching between landscape and portrait modes, and securely lock when rotated to 90° degrees. Two rotary joints supports 180 degrees adjustment
- Universal Compatibility: It supports smartphones with a width of 57-88mm / 2.5-3.5in (for Samsung, for iPhone 18 / 18 Pro / 18 Pro Max / 17 /17 Pro/17 Pro Max/16/16 Pro/16 Pro Max/15/15 Pro /15 Pro Max / for iPhone 14/14 Pro /14 Pro Max / for iPhone 13 /13 Pro /13 Pro Max / for iPhone 12 Pro Max and so on)
- Threaded Holes & Cold Shoe: Designed with well-spaced threaded holes to facilitate the installation of power bank holders (ID: 2336 / 2790). There is a cold shoe mount on top for microphone or light
- Package Included: phone holder x 1. Please note that the load capacity is 500g
The page layout does not reflect the emulated viewport
Set the viewport and scale factor before navigating. This ordering is especially important in Puppeteer, whose documentation warns that pages may not expect viewport changes after loading.
The API rejects an option or behavior differs
Confirm the installed Playwright or Puppeteer version and consult its matching API reference. For direct CDP use, check the protocol documentation for the browser version because support and experimental status can vary.
Or skip the browser setup: ScreenshotNeo
ScreenshotNeo is a website screenshot API and MCP server. Its API returns an image or PDF from one GET request; the example below captures a URL as WebP. See the ScreenshotNeo documentation for its request options.
curl -G "https://api.screenshotneo.com/v1/shot"
-d access_key=YOUR_API_KEY
--data-urlencode url=https://example.com
-o shot.webp
ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers report page verdict and billing status. Its MCP server offers take_screenshot, get_page_info, and capture_pdf tools for AI agents. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000.
Create a free ScreenshotNeo account to start with 1,000 screenshots a month and 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.




