核心用法
stealthy-auto-browse 是一款面向高强度反爬场景的浏览器自动化工具,基于定制版 Firefox(Camoufox)构建,核心设计理念是消除一切可被检测的自动化痕迹。
两种操作模式
1. System Input(隐形模式):通过 PyAutoGUI 发送真实的操作系统级鼠标/键盘事件,浏览器层面完全无法感知自动化痕迹。包含 system_click(贝塞尔曲线移动+点击)、system_type(随机延迟字符输入)、mouse_move、send_key、scroll 等。
2. Playwright Input(便捷模式):使用 Playwright 的 DOM 事件,支持 CSS/XPath 选择器,速度快但可被检测。适用于无反爬保护的站点。
典型工作流
goto加载页面 →get_text读取内容 →get_interactive_elements获取元素坐标 →system_click/system_type交互 →wait_for_element/wait_for_text等待结果 →get_text验证
运行模式
- HTTP API 模式:Docker 容器暴露 8080 端口,通过 JSON POST 调用
- Script 模式:通过 stdin 传入 YAML 脚本,stdout 返回 JSON 结果,容器即运行即销毁
- Page Loaders:URL 匹配触发的自动化模板,支持复用
显著优点
- 顶级反爬通过率:明确声称通过 CreepJS、BrowserScan、Pixelscan、Cloudflare、DataDome、PerimeterX、Akamai
- 零 CDP 暴露:完全规避 Chrome DevTools Protocol 特征检测
- 真实人类行为:OS 级输入模拟人类鼠标轨迹和打字节奏
- 指纹持久化:支持保持登录态不被封号
- 双模式灵活:隐形模式用于对抗检测,便捷模式用于快速开发
- 完整浏览器功能:Cookies、Storage、Tabs、Dialogs、Network/Console 日志、截图
潜在缺点与局限性
- 速度代价:System Input 比 Playwright 慢,人类化滚动和点击需额外时间
- 坐标依赖:隐形模式需先获取元素坐标,无法直接用选择器操作
- Docker 依赖:必须运行容器,资源占用高于纯 HTTP 客户端
- 维护风险:Camoufox 为第三方定制 Firefox,版本跟进和安全更新依赖上游
- 法律灰色地带:明确用于绕过反爬系统,可能违反目标网站 ToS
适合人群
- 需要稳定爬取 Cloudflare/DataDome 保护站点的开发者
- 自动化测试工程师处理高强度反爬场景
- 需要保持长期登录会话的自动化任务
- 标准
curl/WebFetch已被 403/CAPTCHA 拦截的场景
常规风险
- 指纹冲突:时区与 IP 地理位置不匹配会被检测,需手动对齐
- 坐标漂移:全屏切换后需调用
calibrate重新校准 - 对话框处理:默认自动接受,关键场景需前置
handle_dialog - 资源泄漏:需显式
close或依赖容器销毁,长期运行注意内存 - 合规风险:用于绕过明确禁止自动化的服务可能触发法律追责