To screenshot a website as it appears under another country’s conditions, first decide what “from that country” means: browser geolocation, language and time zone, or an internet connection whose IP address is located there. These are separate variables. Playwright can emulate browser geolocation, locale, and time zone, but those settings do not route traffic through another country. For IP-based targeting, use an authorized test connection with egress in the target country and verify the result.
Choose which country-specific behavior to test
A website may choose what to show based on different signals. Changing one signal does not automatically change the others, so define the behavior you want to inspect before taking a screenshot.
| Method or setting | What it tests | Use it for | What it does not establish |
|---|---|---|---|
| Browser geolocation | Coordinates exposed through the browser geolocation API | Location permission flows or interfaces triggered by browser location | That your internet connection exits from the selected country |
| Locale and time zone | Browser language and time-zone presentation | Translations, date or number formatting, and time-sensitive content | That the site sees a target-country IP address |
| Country-origin network route | The IP address seen by the website | IP-based content or access restrictions | Results from browser geolocation or locale unless those are configured separately |
| Viewport and device profile | Page layout and rendering at a given screen size and device configuration | Comparing country-specific pages without accidentally changing the layout conditions | Any particular geographic signal |
Playwright’s emulation documentation covers browser controls including geolocation, locale, time zone, and device settings. Its documentation describes browser-context controls; it does not say that selecting coordinates changes the country from which network requests originate. Treat a browser-geolocation screenshot as evidence of the browser-location behavior you configured—not proof of what a visitor on a local network in that country sees.
Prepare a fair comparison
- Choose the target and behavior. Record the country, the exact URL, and whether you are testing browser location, locale, time zone, IP-based targeting, or a combination.
- Set up the right network condition if needed. For IP-based content, use an authorized country-origin test connection. Keep the network route distinct from browser emulation so you can tell which setting caused a change. The cited Playwright documentation does not verify a particular proxy provider or guarantee that a site will identify a connection as the intended country.
- Keep comparison conditions fixed. Use the same account and session assumptions, consent state, viewport, browser, and capture timing when comparing results. If one capture is logged in and another is not, or one has a consent choice saved, those differences can be mistaken for geographic behavior.
- Use a fresh browser context for automated tests. Configure the intended geolocation and grant geolocation permission if the page requests it. Set locale, time zone, viewport, and device profile deliberately rather than relying on defaults.
- Capture and label the result. Note the URL, UTC date and time, target location, whether location was browser-emulated or network-routed, locale, time zone, viewport or device, browser and version, and relevant session state. This record makes later comparisons interpretable.
There is no universal wait time that guarantees every page has finished rendering. Choose a repeatable readiness condition appropriate to the page—for example, a visible element that marks the content under test—and use the same condition for each capture.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →#1 Best Overall
Automate screenshots with Playwright
Playwright supports geolocation coordinates and requires the browser context to grant geolocation permission for pages that use the browser location API. Locale and time zone are also configurable at the context level. The following Node.js example uses a new context, sets those browser conditions, opens a page, and saves a full-page screenshot. Replace the coordinates, locale, time zone, URL, and readiness selector with values relevant to your test.
import { chromium } from 'playwright';
const browser = await chromium.launch();
const context = await browser.newContext({
geolocation: { latitude: 48.8566, longitude: 2.3522 },
permissions: ['geolocation'],
locale: 'fr-FR',
timezoneId: 'Europe/Paris',
viewport: { width: 1440, height: 1000 }
});
const page = await context.newPage();
await page.goto('https://example.com', { waitUntil: 'domcontentloaded' });
// Replace with a selector that signals the content you need to inspect.
await page.locator('body').waitFor({ state: 'visible' });
await page.screenshot({ path: 'paris-browser-settings.png', fullPage: true });
await context.close();
await browser.close();
The coordinates above represent a point in Paris; they are an example, not a country-wide setting. A country can cover many locations, and a site may respond differently by city or coordinates. If the page does not request browser geolocation, granting permission alone may not change what it displays.
Run it
- Install Node.js and create a project directory.
- In that directory, run
npm init -y, thennpm install playwright. - Save the example as
screenshot.mjsand runnode screenshot.mjs. - Open
paris-browser-settings.pngand check that the content under test actually changed. If it did not, confirm which location signal the website uses.
For a locale or time-zone comparison without browser geolocation, remove the geolocation and permissions entries but retain locale or timezoneId as needed. For an IP-based test, configure an authorized country-origin network route separately; setting coordinates or locale is not a substitute.
Rank #2
- HTML CSS Design and Build Web Sites
- Comes with secure packaging
- It can be a gift option
Use Playwright Test for recurring visual checks
For repeated captures or baseline comparisons, Playwright Test can apply browser options at test or project scope. See the official configuration documentation for the available use options. A screenshot assertion can be written inside a test after the page reaches the state you want to compare:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
import { test, expect } from '@playwright/test';
test('French locale page screenshot', async ({ page }) => {
await page.goto('https://example.com');
await expect(page).toHaveScreenshot('french-locale.png', { fullPage: true });
});
Configure geolocation, permission, locale, time zone, viewport, and any required network route in the test configuration for the project. Playwright’s visual comparison documentation cautions that screenshots can vary with operating system, browser version, hardware, power state, and headless mode. Keep the environment consistent when comparing against a baseline; investigate differences before treating them as a country-specific change.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server for developers. A single GET request can return an image or PDF. This call captures an example URL as WebP; see the ScreenshotNeo API documentation for request options.
Rank #3
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts custom headers, cookies, user agents, time zone, and geolocation, as well as viewport and device settings. Those browser settings should not be mistaken for a country-origin IP route: for a site that targets by IP, use an authorized connection with egress in the target country and verify the result.
- Cookie and consent banners, newsletter popups, and chat widgets can be removed before capture; each cleanup step can be turned off.
- Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed. Response headers indicate the page verdict and billing status.
- An MCP server provides
take_screenshot,get_page_info, andcapture_pdftools for AI agents and MCP clients. - The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Troubleshoot screenshots that do not match expectations
The page still shows the original country’s content
Check whether the site uses browser geolocation, locale, time zone, or IP address. If it targets by IP, browser emulation will not change the network origin; test through an authorized route whose egress is in the target country. If the signal is unknown, vary one condition at a time and record it.
Rank #4
- Brand: Wiley
- Set of 2 Volumes
- A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
The browser-location prompt is missing or the site ignores coordinates
Confirm that the context has geolocation coordinates and the geolocation permission. Then check that the page actually calls the browser geolocation API. A site that relies on IP inference or an account preference may not react to browser coordinates.
The screenshot is blank, incomplete, or captured too early
Use a readiness condition tied to the content being tested instead of assuming that navigation completion means all client-rendered content is ready. If content appears after a delay or user interaction, reproduce that state consistently before capture. Do not compare one capture taken before content appears with another taken after it does.
Visual comparisons fail despite apparently identical settings
Check the operating system, browser version, hardware, headless mode, and power state, as well as viewport and page state. Playwright notes these host-environment differences in its visual comparison guidance. Keep the environment stable or review the changed rendering before updating a baseline.
Best Value
A country-origin test does not produce the expected region
Confirm that the test route is authorized and that the website sees its IP address as belonging to the intended country. The Playwright documentation does not establish any particular provider’s availability or accuracy, and an IP classification result is not guaranteed by changing browser settings.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Make screenshots useful evidence
A screenshot records pixels, not the conditions that produced them. Keep a small capture log alongside images so that a reviewer can distinguish the effect of location from a session, browser, or viewport change.
- Address: exact URL and any relevant query parameters.
- Time: capture date and time in UTC.
- Location method: browser coordinates, country-origin network route, or both.
- Browser presentation: locale, time zone, viewport, device profile, browser, and version.
- Page state: logged-in or signed-out state, consent state, and any interaction needed to reveal the content.
When the precise targeting mechanism is uncertain, make separate captures for browser geolocation, locale/time zone, and network origin. That makes the result a test of named conditions rather than an unsupported claim about what every visitor in a country sees.
Frequently Asked Questions
Does changing Playwright geolocation make a website see an IP address from that country?
No. Geolocation settings emulate browser coordinates; they do not establish the country of network egress. Use an authorized country-origin route for IP-based targeting.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteCan I test a country’s language and local time without changing my IP?
Yes. Configure the browser locale and time zone for presentation behavior. This does not test IP-based targeting.
Why can screenshots differ on another machine with the same settings?
Rendering can vary with operating system, browser version, hardware, power state, and headless mode. Keep the environment consistent for visual comparisons.
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.

