核心用法
webcli 是一个基于 Playwright Chromium 的无头浏览器命令行工具,采用后台守护进程架构,首次命令自动启动浏览器,5 分钟无活动后自动关闭,消除传统 headless browser 的启动延迟。
基础工作流:
1. webcli go <url> 导航至目标页面
2. webcli source 获取可见文本内容
3. webcli click / webcli fill / webcli press 执行交互操作
4. 重复 source 检查操作结果
5. webcli screenshot 获取视觉确认
关键能力矩阵:
| 场景 | 推荐命令 |
|------|---------|
| 信息抓取 | `source`, `links`, `html <selector>`, `eval <js>` |
| 表单自动化 | `fill "<selector>" "<value>"`, `press Enter`, `select` |
| 动态等待 | `wait "<selector>"`, `waitfor "<text>"`, `sleep <ms>` |
| 多标签管理 | `-t <tabname>` 参数切换上下文 |
| 反检测 | `useragent`, `viewport`, 或配置 headed 模式 |
显著优点:
- 零延迟体验:守护进程保持浏览器常驻内存,命令即时执行
- 现代框架兼容:
fill命令正确处理 React/Vue 受控输入 - 多标签隔离:支持命名标签页,适合并行调研任务
- 调试友好:内置网络日志、原始 HTML 导出、Cookie 导入导出
潜在局限与风险:
- 反爬对抗:部分网站检测 headless 特征,需手动配置
headless: false或更换 user-agent - 状态管理:守护进程自动关闭机制可能导致长任务中断,需合理设置活动间隔
- 选择器脆弱性:CSS selector 依赖页面结构稳定性,建议使用
click "<text>"优先匹配可见文本 - JS 执行安全:
eval命令直接执行任意代码,需警惕 XSS 风险
适合人群:
- 需自动化网页数据采集的开发者与数据分析师
- 进行端到端测试的 QA 工程师
- 快速验证页面状态的运维人员
- 非编程用户通过自然语言指令间接使用(AI Agent 场景)
常规风险提示:
- 登录凭证通过 Cookie 文件传输时注意文件权限
- 截图与页面源码可能包含敏感信息,需妥善处置输出文件
- 高频请求可能触发目标站点的 rate limiting