无头浏览器
一句话:没有可视化窗口的浏览器,适合在服务器上自动访问网页、截图和跑测试。
它是什么
无头浏览器就是在后台运行的浏览器。它仍然会加载网页、执行JavaScript、处理Cookie和页面跳转,只是不显示窗口。它常被Playwright、Puppeteer和自动化测试系统使用。
适合干什么
- 服务器自动截图
- CI环境跑前端测试
- AI代理自动浏览网页
- 需要定时检查页面是否正常的项目
不适合干什么
- 必须人工观察和手动操作的流程
- 依赖验证码或复杂风控的网站
- 服务器资源很紧张的环境
- 违反网站规则的采集行为
普通人怎么用
- 选择Playwright或Puppeteer
- 在本地先用有头模式调试
- 确认脚本稳定后切换无头模式
- 在服务器安装浏览器依赖
- 保存错误截图和日志
进阶用户怎么用
- 给每次运行设置独立上下文
- 限制并发数量,避免内存暴涨
- 把截图、HTML和控制台错误作为调试产物
- 对登录态过期做自动提醒而不是硬跑
常见误区
- 本地能跑,服务器缺少浏览器依赖
- 没有设置窗口尺寸,截图布局和真实用户不同
- 并发开太多导致内存耗尽
- 页面还没加载完就截图或断言
和相似工具的区别
- 无头浏览器 vs 普通浏览器:普通浏览器给人看,无头浏览器给程序自动执行。
- 无头浏览器 vs HTTP请求:HTTP请求只拿接口或HTML,无头浏览器会执行页面JavaScript,更接近真实用户访问。
入门步骤
- 本地调试
- 切无头模式
- 安装依赖
- 设置窗口尺寸
- 运行脚本
- 保存截图
- 监控资源
推荐工具(第三方)
Playwright、Puppeteer、Chromium、Docker、GitHub Actions、Vercel