前言:最近安装了一下Browserless 与Playwright,并且对接上AI智能体,发现就可以处理一些以往无法直接自动化处理的事情,比如网页数据抓取等等。本篇博客就介绍一下关于这两种工具在ddocker中的安装方法,让你的AI智能体如虎添翼。


目录

1,Browserless 与Playwright

2,两者能做什么

3,docker中安装


1,Browserless 与Playwright

Playwright:由微软开发,是一个强大的自动化测试框架。它的核心是能通过 Chrome DevTools Protocol (CDP) 等协议,直接指挥浏览器做任何事。它和传统工具(如 Selenium)最大的不同在于两点:

自动等待:当你让 Playwright 去点击一个按钮时,它不会立刻执行。它会智能地等待这个按钮变得可见、可用、不被遮挡,一切就绪才点击。这就避免了脚本因为页面加载慢而报错。

完全隔离:它支持“浏览器上下文”,你可以为每一个任务创建独立、无痕的“会话”,就像在浏览器里开了多个互不干扰的隐私窗口。每个会话都有自己的 Cookies 和缓存,保证了任务之间的隔离性

Browserless:管理和维护浏览器(尤其是在云端)是件麻烦事:要装各种依赖库、处理崩溃、应对并发……Browserless 就是为此而生的托管服务。

它提供了一个 WebSocket 地址,你只需要把 Playwright 的代码“连接”到这个地址,Playwright 就会像操作本地浏览器一样,去操作 Browserless 在云端启动的浏览器

我们可以打个比方来理解:

Playwright 就像一个技术高超、不知疲倦的“机器人驾驶员”,它知道怎么操作浏览器(点按钮、填表单、抓文字),而且非常聪明,会自动等待页面加载好再行动,不会傻等。

Browserless 则像一个专门给“机器人驾驶员”使用的“云端赛车场”。这个赛车场(云端服务器)里准备好了浏览器和所有环境,你只需要把 Playwright 这个“驾驶员”派过去,它就能在上面跑起来

2,两者能做什么

  • 自动化重复工作:比如每天早上自动登录公司后台,抓取报表数据并发送邮件。

  • 网页数据抓取:对于需要 JavaScript 渲染的动态网站,Playwright 能完美渲染并抓取内容,比传统爬虫更强大。

  • 回归测试:在网站更新后,自动跑一遍核心业务流程,确保没有引入新Bug。

  • “人机协作”:这是 Browserless 的一个高级特性。比如,当自动化流程遇到验证码时,它可以生成一个临时链接发给真人,让真人手动解决验证码,然后自动化流程继续运行。真正实现了自动化与人工的灵活结合。

3,docker中安装

这个安装的前提是你在你的Windows上面有docker容器,我这边是在Windows11上面的docker,并在其中创建了openclaw容器。

从 Docker 官方仓库下载(拉取)最新版的 Browserless Chrome 镜像到你的电脑上

docker pull browserless/chrome:latest

创建并启动容器,基于镜像生成一个运行中的容器

docker run -d --name browserless -p 3000:3000 browserless/chrome:latest

查询docker中的镜像是否安装成功

docker images

在docker中发现果然生成了一个新的基于browserless 的镜像容器


在openclaw中安装Playwright工具
打开openclaw容器中的终端

在终端中依次执行以下指令

1,安装 Playwright npm 包
npm install -g playwright

2,安装系统依赖(分三批,避免超时)
# 第1批 - 安全库
rm -f /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock /var/cache/apt/archives/lock
apt-get install -y --no-install-recommends libnspr4 libnss3

# 第2批 - 图形基础库
rm -f /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock /var/cache/apt/archives/lock
apt-get install -y --no-install-recommends libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libgbm1

# 第3批 - 显示与输入库
rm -f /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock /var/cache/apt/archives/lock
apt-get install -y --no-install-recommends libxkbcommon0 libxcomposite1 libxdamage1 libxrandr2 libxfixes3 libasound2 xvfb

3,安装 Chromium 浏览器内核
PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT=300000 npx playwright install chromium

说明:

  • 分批装是因为一次性装 59 个包(~190MB)容易触发超时被 SIGTERM 杀掉

  • 每次 rm -f 锁文件是因为之前失败的 apt 进程可能没释放锁

  • PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT 加长超时是因为 Chromium 下载包 177MB,默认超时不够

安装成功之后,查询安装版本

npx playwright --version

注意:后续要想在openclaw助手中使用这个工具,就必须运行这个docker run -d --name browserless -p 3000:3000 browserless/chrome:latest,


我这边是在飞书连接docker中的openclaw容器,从而使用这两个工具的,直接发问就可以返回想要的结果了。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐