Stealth tools · Sep 25, 2026 · 4 min read
Patchright review: 25 of 31 targets against Playwright's 24
What Patchright patches in Playwright, what it leaves alone, why its console stays silent, and how its input compares with Puppeteer and Selenium.

In short
Patchright promises the smallest possible change to existing code: swap one import, keep every Playwright call, and lose the protocol traces Playwright leaves. It is among the most downloaded tools of its kind, with 3.6 million Python installs in a month. We read its README, its release history and its download figures on 24 September 2026, and set its input against our own recordings of Playwright, Puppeteer and Selenium.
What is Patchright?
Patchright is a patched build of the Playwright driver for Python and Node that keeps Playwright's API and changes how the driver talks to Chromium. It is licensed Apache-2.0 and follows Playwright's version numbers.
| Measure | Patchright |
|---|---|
| Latest release | 1.63.0, 8 September 2026 |
| PyPI downloads, last month | 3,593,915 |
| npm downloads, 15 to 21 September | 300,789 |
| GitHub stars | 4,674 |
What does it patch and what does it leave?
Patchright patches the driver's protocol traffic and leaves the browser's fingerprint and the input as Playwright produces them. Its README lists the patches:
Runtime.enable. Patchright "avoids using Runtime.enable by executing Javascript in (isolated) ExecutionContexts", so the page does not see the runtime domain switched on.Console.enable. The console domain stays off, and the README says plainly that "console functionality will not work in Patchright".- Command line flags. It adds
--disable-blink-features=AutomationControlledand removes--enable-automation. - Closed shadow roots. Elements inside closed shadow roots become reachable with normal locators.
What it leaves is named just as openly:
- Browsers. "Patchright only patches CHROMIUM based browsers. Firefox and Webkit are not supported."
- Tests. It does not pass every Playwright test, and the maintainers call the known bugs unlikely to matter in regular use.
- Fingerprint and input. The patch list contains no canvas, WebGL, font, TLS or input change, so those reach the page as Playwright and Chromium produce them. Other undetected browser options rebuild the browser to change some of them.
Why is the console disabled in Patchright?
The console is disabled because enabling the console domain is itself one of the protocol traces Patchright removes. The cost falls on debugging: messages a page writes to its console no longer reach your script.
Why is a drop-in replacement not enough?
A drop-in replacement fixes the protocol and inherits everything else, and the benchmark result reflects that. In Ian L. Paterson's test of 7 tools against 31 targets, published on 13 May 2026, Patchright reached 25 targets and blocked on 3, vanilla Playwright reached 24 and blocked on 5, and nodriver, which drives Chrome without Playwright, reached 28 with none blocked. Paterson's reading: "Playwright forks fail regardless of patch quality, and defeating that layer takes a control plane that is not Playwright."
How does Patchright compare with Selenium and Puppeteer?
Patchright types and clicks the way Playwright does, and on our signature bench that already differed from Puppeteer and Selenium. We recorded each tool's input twice against Chrome 141 on 24 August 2026.
| Tool | Pointer pressure on press | Capital letters |
|---|---|---|
| Playwright | 0.5 | typed without Shift |
| Puppeteer | 0 | typed without Shift |
| Selenium | 0 | Shift pressed for each one |
For hardware without pressure sensing, the Pointer Events specification says the value "MUST be 0.5 when in the active buttons state", so the 0 from Puppeteer and Selenium is an impossible value, and Playwright gets it right. Playwright and Puppeteer both produce capital letters without a Shift key, which a keyboard does only with Caps Lock on. We recorded Playwright itself, and Patchright's patch list names no change to input, so a page reading these events should see the same from Patchright.
So which should you pick?
| Situation | Pick | Why |
|---|---|---|
| Existing Playwright code, protocol leaks are the blocker | Patchright | one import changes, 25 of 31 against 24 |
| You debug with the page's console output | plain Playwright | Patchright switches the console off |
| Firefox or WebKit | not Patchright | it patches Chromium only |
| A site that fingerprints canvas, WebGL or fonts | a patched browser rather than a patched driver | Patchright leaves those values alone |
| A site that scores input events | an input layer modelled on people | Patchright keeps Playwright's input |
Our verdict: Patchright is the smallest upgrade for Playwright code, one import for fewer protocol traces, and it is honest about its limits. It is not a fingerprint tool and not an input tool, and the benchmark placed it one target above the Playwright it replaces. The migration guide for Playwright shows how the same code attaches to a profile over CDP.
Scalebrowser gives each agent its own isolated browser with a persistent identity, on your own machine, so a run stays signed in, handles the captcha and finishes without anyone watching it.
Start the 7-day trialRun it on your own machine
Seven days to try it with your own agents on your own sites. Starting the trial needs a card.