| 关键词:Agent, AI Agent, Windows, GitHub, browser-use, 控制浏览, Git, ROM, 浏览器, 自动化 |
![]() 你有没有遇到过这种情况:需要在终端里自动化操作浏览器,但又不想写复杂的 Selenium 代码?或者想让 AI Agent 能够像人一样操作网页?我最近发现了一个特别有意思的工具——browser-use-cli,它可以让你用简单的命令直接控制浏览器,就像有一个隐形的助手在帮你点击、输入、截图。 今天我就带你一步一步把这个工具跑起来。 它解决什么问题简单来说,browser-use-cli 做的事情就是让你在命令行里控制浏览器。它支持三种模式:无头 Chromium(后台运行)、真实的 Chrome(可以复用你的登录状态和 cookie),还有云端浏览器。 我最喜欢它的一点是它的持久化设计。第一次打开浏览器后,它会在后台运行一个守护进程,之后所有的命令都能直接复用这个浏览器,不需要每次都重新启动。大概 50 毫秒左右就能执行完一条命令,速度非常快。 这个工具特别适合几种场景:你想让 AI Agent 自动填表、批量处理网页操作、或者需要持续控制浏览器做自动化测试。甚至你可以用它来管理云端浏览器会话,调用 Browser Use 的 Cloud API。 安装过程我们先来看看怎么安装。 准备工作确保你的系统满足这些要求:
你可以先检查一下 Python 版本: 如果显示的版本号低于 3.11,你需要先升级 Python。 一键安装macOS 和 Linux 用户直接运行这个命令: Windows 用户在 PowerShell 中运行: 安装完成后,你可以在终端验证一下: 如果能看到版本号,说明安装成功了。 我建议同时也安装一下官方提供的 Skill,这样你的 AI Agent 在使用这个 CLI 的时候能够获得完整的上下文。不过这个是可选的,我们先不展开。 第一个例子:打开浏览器,访问页面现在我们来跑一个最简单的例子。 启动浏览器直接在终端输入: 第一次运行的时候,它会下载并启动 Chromium 浏览器。稍等几秒钟,你应该会看到浏览器窗口打开并访问了 Google 主页。 如果你想看浏览器界面,可以加上 --headed 参数: 查看页面状态现在我们在另一个终端窗口输入: 这会返回当前页面的 URL、标题,以及页面上所有可点击的元素。每个元素都有一个编号,后面我们就可以用这些编号来操作页面。 输出大概是这个样子的: 核心命令实战光打开页面没意思,我们来玩点真的。 点击元素比如我们想点击页面上的 “Sign in” 按钮,直接用编号就行: 浏览器就会自动点击编号为 0 的元素,也就是 “Sign in” 按钮。页面会跳转到登录页面。 如果你知道元素的坐标,也可以直接点击指定位置: 输入文字登录页面一般有用户名和密码输入框。先看一下当前页面的元素: 假设输出显示: 我们可以用 input 命令先点击输入框再输入文字: 或者先用 click 聚焦输入框,然后用 type 输入: 截图想看看当前页面长什么样?直接截图: 这会返回 base64 编码的图片数据。如果你想保存到文件: 如果需要截取整个页面(不只是当前可视区域): 滚动页面页面太长看不见下面怎么办? 一次滚动一页。如果你想精确控制滚动距离: 向上滚动也可以: 等待元素有些页面是动态加载的,你需要等待某个元素出现才能继续操作: 这行命令会等待 class 为 “loading” 的元素消失再继续。也可以等待特定文本出现: 默认等待时间是 30 秒,如果想自定义: 获取页面信息想获取页面的某个元素内容? 这会返回页面标题。 获取某个元素的文本内容: 获取输入框的值: 获取元素的 HTML: 真实使用场景:自动填表我们来完整地走一遍一个真实场景:自动填写并提交一个表单。 假设我们有一个测试表单页面,先打开它: 查看页面元素: 假设表单结构如下: 现在我们来填写: 下拉菜单用 select 命令: 文本域用 input 也可以: 最后点击提交按钮: 整个过程就像有人在操作浏览器一样,但全部都是自动化的。 浏览器模式详解browser-use-cli 支持三种浏览器模式,适用于不同的场景。 1. 无头模式(默认)不显示浏览器窗口,完全在后台运行。适合批量自动化任务: 2. 有头模式显示浏览器窗口,可以看到实际操作过程。适合调试: 3. 复用真实 Chrome如果你想用自己已经登录的 Chrome 浏览器(保留 cookie 和会话),可以这样: 这会使用你 Chrome 浏览器的默认配置文件。你也可以指定特定的配置文件: 这样你就不需要每次都重新登录了。 4. 云端浏览器如果你需要使用 Browser Use 的云端浏览器服务: 这会创建一个云端浏览器会话。具体的使用方法可以参考官方文档,这里就不展开说了。 工作原理:守护进程架构为什么 browser-use-cli 这么快?秘密在于它的守护进程架构。 当你第一次执行命令时,它会启动一个后台守护进程。这个守护进程会一直保持浏览器打开状态,后续的命令都通过 Unix 套接字(Windows 上是 TCP)与这个守护进程通信。正因为不需要每次都启动浏览器,所以延迟只有约 50 毫秒。 每个会话(session)都有自己独立的守护进程、套接字和 PID 文件,存放在 ~/.browser-use/ 目录下。你可以用 --session 参数来管理多个独立的浏览器会话: 这样你有两个独立的浏览器实例,互不干扰。 用完了想关闭浏览器: 关闭所有会话: 查看当前有哪些活跃的会话: 文件结构browser-use-cli 会把你的配置和数据存在 ~/.browser-use/ 目录下。你可以通过设置 BROWSER_USE_HOME 环境变量来改变这个位置。 主要的文件包括:
经验分享:几个小技巧1. 调试时用 JSON 输出有些命令可以加上 --json 参数,返回结构化的 JSON 数据,方便程序解析: 2. 使用 MCP 模式如果你想让 AI Agent 更智能地控制浏览器,可以启用 MCP 模式: 这样它会通过 stdin/stdout 与 AI Agent 通信。 3. Cookie 管理browser-use-cli 提供了完整的 cookie 管理功能。比如你想导出当前网站的 cookie: 下次想导入: 查看当前域名的 cookie: 设置 cookie: 4. 执行 JavaScript有时候你需要执行一些自定义的 JavaScript 代码: 这会返回页面的标题(和 get title 效果一样,但展示了执行 JS 的能力)。你可以执行任意 JS 代码来做更复杂的操作。 5. 命名会话管理给会话起个名字方便记忆: 之后直接用这个名称调用会话: 常见问题安装完成后提示找不到命令? 检查一下你的 PATH 环境变量,确保 ~/.browser-use/bin 在里面。你可能需要重新打开终端或者运行 source ~/.bashrc。 第一次启动很慢? 首次使用需要下载 Chromium 浏览器,取决于你的网络速度,可能需要几分钟。耐心等待一下。 Windows 上守护进程启动失败? Windows 上可能需要以管理员权限运行终端。也有可能是端口被占用,可以尝试关闭其他可能占用端口的程序。 浏览器打不开页面? 检查一下是否有代理或者防火墙阻挡。如果是公司网络,可能需要配置代理。 写在最后browser-use-cli 真的是一个非常实用的工具。它把复杂的浏览器自动化封装成了简单的命令,你不需要懂 Selenium,不需要写代码,直接在终端敲命令就能控制浏览器。 而且它的设计非常聪明——守护进程架构让每次操作都很快,复用真实 Chrome 让你可以保持登录状态,MCP 模式让 AI Agent 能够自然地控制浏览器。 你可以用它来自动化那些繁琐的网页操作,或者让你的 AI Agent 具备操作浏览器的能力。感兴趣的话,可以去官方文档看看更多高级功能,比如云端浏览器、隧道、Tunnel 等。 |
| 本文出处: https://www.toutiao.com/article/7619931406924349988/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|