AI助手使用Browserless 与Playwright,轻松搞定各种网页自动化任务
前言:最近安装了一下Browserless 与Playwright,并且对接上AI智能体,发现就可以处理一些以往无法直接自动化处理的事情,比如网页数据抓取等等。本篇博客就介绍一下关于这两种工具在ddocker中的安装方法,让你的AI智能体如虎添翼。
目录
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容器,从而使用这两个工具的,直接发问就可以返回想要的结果了。

更多推荐

所有评论(0)