Usabletested 2026-05-24 · public-tough-v1 · proxy: none

Playwright

A rendering baseline, not a stealth tool.

Playwright is the modern browser-automation standard, and it is often reached for as a scraping upgrade: real browser, real JavaScript, surely better results than an HTTP client. Our run says otherwise for protected sites: stock headless Chromium (Playwright 1.60.0, chromium.goto) passed 3 of 21 — Target, Rightmove, and Wikipedia. curl_cffi, a plain HTTP client with a Chrome TLS fingerprint, passed 5 on the same day.

The reason is visible in the failure log: anti-bot vendors identify stock headless Chromium instantly. eBay, Tripadvisor, Zillow, Indeed, Yelp, Trustpilot, and Craigslist returned hard 403s in roughly a second; Walmart, AliExpress, Airbnb, CoinMarketCap, and YouTube served robot checks or captchas; Amazon answered 503. Reddit loaded a shell page without the expected content. Each page also cost 1–5 seconds instead of an HTTP client's milliseconds.

None of this makes Playwright bad at its actual job. The automation is rock solid, and its debugging story — screenshots, console, tracing — produced the best failure artifacts of the test. It renders JavaScript sites that no HTTP client can touch. It just doesn't hide you.

Test conditions

21 real public sites (public-tough-v1), 2026-05-24, no proxy, single residential IP, Linux. Deterministic validators: expected status code plus required and forbidden content markers. Pass rates measure the tool and the network position together. Without a proxy, results reflect how each site's protections treat one plain residential connection as much as the tool itself.

What worked

  • +Rendered and passed Target, Rightmove, and Wikipedia reliably.
  • +Best-in-test debugging artifacts: screenshots, console logs, structured errors for every attempt.
  • +Executes real JavaScript — the capability HTTP clients fundamentally lack.

What failed

  • 3/21 — stock headless Chromium is fingerprinted on arrival by every major anti-bot vendor.
  • 1–5 s per page and a full browser process, for a lower pass rate than a good HTTP client.
  • Reddit served an empty shell — rendering alone doesn't guarantee content.

When to use it

JavaScript-heavy sites without aggressive protection, automation flows, and anywhere you need evidence of what actually rendered. For protected sites, combine with proxies and a stealth layer — stock headless is the detectable baseline.

Excellent browser automation; zero camouflage. Know which problem you have.

Run evidence

Every attempt below is backed by saved artifacts: request/response metadata, body content, and (for browsers) screenshots. Raw JSON and artifacts live in the runner data directory.

Run · playwright-common-sites-v1-20260524

3/21 passedversion 1.60.0proxy: none2026-05-24

adapter: playwright.sync_api.chromium.goto

TargetResultDetailLatency
amazon.comamazon_search_laptopfailexpected 200, got 503841 ms
walmart.comwalmart_search_laptopfailblock marker: “Robot or human”2.9 s
ebay.comebay_search_laptopfailexpected 200, got 403655 ms
aliexpress.comaliexpress_search_laptopfailblock marker: “Robot”4.7 s
target.comtarget_search_laptoppassstatus 2004.2 s
booking.combooking_search_parisfailexpected 200, got 2022.9 s
airbnb.comairbnb_search_parisfailblock marker: “captcha”3.7 s
tripadvisor.comtripadvisor_restaurants_parisfailexpected 200, got 4031.1 s
expedia.comexpedia_hotels_parisfailexpected 200, got 4291.9 s
zillow.comzillow_homes_for_salefailexpected 200, got 4032.7 s
realtor.comrealtor_new_yorkfailexpected 200, got 4292.2 s
rightmove.co.ukrightmove_londonpassstatus 2003.5 s
indeed.comindeed_python_remotefailexpected 200, got 403715 ms
yelp.comyelp_sf_restaurantsfailexpected 200, got 403953 ms
trustpilot.comtrustpilot_amazonfailexpected 200, got 4033.1 s
newyork.craigslist.orgcraigslist_nyc_bikefailexpected 200, got 4031.4 s
finance.yahoo.comyahoo_finance_aaplfailredirected to consent.yahoo.com1.7 s
coinmarketcap.comcoinmarketcap_homefailblock marker: “captcha”3.4 s
reddit.comreddit_webscrapingfailexpected content missing921 ms
youtube.comyoutube_search_scrapingfailblock marker: “captcha”4.3 s
en.wikipedia.orgwikipedia_web_scrapingpassstatus 2001.5 s