Tests you can inspect

A result is useful when you can see the target, setup, content checks, and failures. These records answer different questions, so we do not rank them together.

29 September 2026 UTC · public-30-v1 · 360 dated records

Plain Puppeteer on 30 sites, beside eleven earlier tools

Puppeteer 25.12.0 with the same Chrome 153 binary as Playwright and Patchright, through custom executablePath; normally paired Chrome 154 differs. Fresh browser/context, stock launch defaults, no stealth, proxy or repeated goto. Inspect all twelve dated attempts per target, unchanged checks, visual challenge/consent limits, CDP timeouts, DOM/PNG hashes, sampled PSS and exact code. The separate usable canary stays outside the counts.

Compare twelve tools on 30 targets

29 September 2026 UTC · public-30-v1 · 330 dated records

Crawlee HTTP on 30 sites, beside ten earlier tools

CheerioCrawler 3.18.2, stock got-scraping and generated headers, fresh single-page HTTP workers with no proxy, cookies, retries, robots fetches, browser or page JavaScript. Inspect all eleven dated attempts per target, frozen checks, empty HTTP 200s, MIME errors, redirects, body hashes, sampled PSS and exact code. This does not measure full crawling or browser modes; the separate failed-content canary stays outside the counts.

Compare eleven tools on 30 targets

29 September 2026 UTC · public-30-v1 · 300 dated records

Plain Playwright on 30 sites, beside nine earlier tools

Playwright Python 1.63.0 and the same pinned Chrome 153 executable as Patchright, with matching explicit browser options and stock driver defaults. Inspect all ten dated attempts per target, unchanged checks, visual challenge and consent limits, redirects, DOM/PNG hashes, sampled PSS and exact code. No added stealth, proxy, application retry or target interaction. The separate usable canary stays outside the counts.

Compare ten tools on 30 targets

29 September 2026 UTC · public-30-v1 · 270 dated records

Scrapy on 30 sites, beside eight earlier tools

One fresh single-page Spider per frozen URL, using the stock HTTP/1.1 downloader without a proxy or JavaScript. Inspect nine dated attempts per target, unchanged content checks, HTTP 200 failures, redirects, middleware headers, hashes, sampled PSS and exact code. This tests the downloader, not crawling or scheduling scale. The separate returned HTTP 200 canary failed content checks and is excluded.

Compare nine tools on 30 targets

29 September 2026 UTC · public-30-v1 · 240 dated records

Direct curl_cffi on 30 sites, beside seven earlier tools

One fresh Chrome150-impersonating HTTP session per frozen URL, sequentially without a proxy, browser or JavaScript. Inspect eight dated attempts per target with identical content checks, HTTP 200 failures, redirects, headers, capture hashes, sampled PSS and exact code. This direct client pass stays separate from Scrapling’s wrapper; the public canary is excluded.

Compare eight tools on 30 targets

29 September 2026 UTC · public-30-v1 · 210 dated records

SeleniumBase standard headless Chrome on 30 sites, beside six earlier tools

One fresh Chrome/ChromeDriver instance per frozen URL, UC disabled, sequentially without a proxy. Inspect all seven dated attempts per target with identical checks, HTTP 200 soft blocks, rule limitations, redirects, capture hashes, sampled process-tree PSS and exact code. Full captures remain private; the separate public canary stays outside counts.

Compare seven tools on 30 targets

29 September 2026 UTC · public-30-v1 · 180 dated records

Botasaurus browser mode on 30 sites, beside five earlier tools

One fresh isolated browser per frozen URL, sequentially without a proxy. Inspect all six dated attempts with identical checks, failures, redirects, capture hashes, sampled process-tree PSS and exact code. The startup fix preserves sandboxing; a separate public canary stays outside the 30-site counts. Full captures remain private.

Compare six tools on 30 targets

29 September 2026 · public-30-v1 · 150 dated records

Scrapling HTTP on 30 sites, beside four earlier tools

One documented HTTP Fetcher mode on every frozen URL, sequentially without a proxy. Inspect all five dated attempts with identical checks, raw-body/DOM hashes, redirect policies, failures, code and sampled process-tree PSS. HTTP-only limits, headers, cookies and dates are explicit; full captures stay private.

Compare five tools on 30 targets

29 September 2026 · public-30-v1

Lightpanda on the same 30 public websites

Every local no-proxy Lightpanda attempt beside the corrected wreq baseline. The same required-content checks, with dates, DOM hashes, sampled process-tree PSS, failures and code. Browser work and redirect-policy differences are explicit.

Compare all 30 targets

29 September 2026 · public-30-v1

wreq on 30 public websites

The frozen 30-site manifest and one no-proxy navigation on each site, following up to three ordinary redirects. Includes every status, content and soft-block check, latency, byte count, response hash, and the Python code. Full responses remain private.

Inspect all 30 attempts
Preliminary field test29 September 2026

Patchright vs Camoufox

Three public pages, no proxy. One browser per page, then three browsers at once. Includes status, usable-content check, time, memory, screenshots, and the exact Python script.

Inspect test
Historical baseline24–25 May 2026

21-site public stress test

Twelve published run modes from ten projects, all without a proxy on one network. Inspect individual attempts and validation checks; do not treat these old totals as current recommendations.

Inspect history

For target selection, scoring, and what we do not know, read the method.