Puppeteer Real Browser 是一个基于 Puppeteer 的工具库,模拟真实浏览器的行为,避免在使用自动化脚本时被网站检测为机器人。它可以有效绕过像 Cloudflare 这样的安全服务,能够自动处理验证码(如 Captchas),提升自动化任务的成功率。
Puppeteer Real Browser主要通过针对浏览器的最小修改,保持自然状态,确保最佳的运行结果,特别适合需要复杂的用户交互时(例如填写表单、点击按钮等)。
安装
系统要求:Linux需安装xvfb(虚拟显示服务器)
安装命令:
npm i puppeteer-real-browser
# Linux系统需额外执行
sudo apt-get install xvfb
使用示例
const { connect } = require('puppeteer-real-browser');
async function test() {
const { browser, page } = await connect({
headless: false, // 推荐非无头模式
args: [], // 自定义Chromium启动参数
turnstile: true, // 自动处理Cloudflare验证码
disableXvfb: false // Linux下启用虚拟显示
});
await page.goto('<目标URL>');
}
test();
配置选项
| 参数 | 说明 |
|---|---|
headless |
默认为false,推荐保持非无头模式 |
args |
自定义Chromium启动参数(如--start-maximized) |
turnstile |
启用Cloudflare验证码自动处理 |
plugins |
支持集成puppeteer-extra插件(需测试兼容性) |
Docker支持
git clone https://github.com/zfcsoftware/puppeteer-real-browser
cd puppeteer-real-browser
docker build -t puppeteer-real-browser-project .
docker run puppeteer-real-browser-project
常见问题
无法访问窗口对象:需通过拦截请求修改页面源码(参考access-window分支示例)。
Viewport设置无效:通过connectOption.defaultViewport配置。
Recaptcha v3限制:无Google会话时可能仍被识别为机器人(技术限制)。
技术特性
基于rebrowser修补Puppeteer-core,减少检测痕迹。
集成ghost-cursor模拟真实鼠标移动(使用page.realClick代替page.click)。
