介绍
playwright-stealth(Python库)
移植自经典 puppeteer-extra-plugin-stealth,专门给 Playwright Python 做浏览器指纹伪装;
通过自动注入JS修补大量暴露自动化特征的浏览器API,绕过前端JS机器人检测(navigator.webdriver、WebGL、plugins、chrome.runtime等)。
⚠️ 区分:
- Python:包名
playwright-stealth(pip安装)- NodeJS:没有同名包,标准方案:
playwright-extra + puppeteer-extra-plugin-stealth
实现原理
页面加载前注入脚本,使用 Object.defineProperty / Proxy 覆盖浏览器原生属性:
navigator.webdriver = undefined(最基础检测点)- 伪造
navigator.plugins、navigator.mimeTypes - 补全
window.chrome对象(无头Playwright默认缺失) - 伪装 WebGL 厂商/渲染器指纹
- 修补
navigator.languages、权限API、媒体codecs等
局限
只能对抗前端JS检测;无法解决 TLS指纹、CDP特征、IP风控、行为检测。
版本
- 1.x版本,在高版本的python中会报错
- 2.x版本,是最新版,api改动很大,目前网上教程大多是 1.x 版本的,导致报错
常见对比
| 方案 | 适用语言 | 能力 |
|---|---|---|
| playwright-stealth | Python Playwright | 前端指纹修补 |
| playwright-extra + puppeteer-extra-plugin-stealth | Node.js Playwright | 前端指纹修补 |
| undetected-chromedriver | Selenium Python | 底层修补Chromium二进制(更强,但仅Selenium) |
测试地址
打开下面网站可以直观查看伪装效果:
https://bot.sannysoft.com