最近在折腾 Docker 环境下的浏览器自动化,踩了不少坑,记录一下。
背景
想在 Docker 容器里通过 AI 控制浏览器完成自动化任务,比如填表、截图等。本来以为装个 Playwright 就搞定了,结果发现没那么简单。
坑点一:系统依赖缺失
Chromium 缺少运行时依赖库。需要安装:libnss4 libnspr4 libasound2 等。
坑点二:Sandbox 模式
需要加 --no-sandbox 参数才能运行。
坑点三:登录状态持久化
每次新建 Chrome 实例登录状态都会丢失。要用 PersistentContext 保存状态。
坑点四:Docker 网络隔离
容器和宿主机网络隔离,需要配置 host.docker.internal 或端口映射。
总结
核心就几点:装依赖、关 sandbox,用 PersistentContext,注意网络配置。