首页 人工智能 AI学院 查看内容

Browser-Use-Cli 实战入门:用命令行控制浏览器

2026-3-25 21:17 |来自: 今日头条 1319 0

摘要: 这个工具特别适合几种场景:你想让 AI Agent 自动填表、批量处理网页操作、或者需要持续控制浏览器做自动化测试。而且它的设计非常聪明——守护进程架构让每次操作都很快,复用真实 Chrome 让你可以保持登录状态,MCP 模式让 AI Agent 能够自然地控制浏览器
关键词: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。

安装过程

我们先来看看怎么安装。

准备工作

确保你的系统满足这些要求:

  • macOS:需要 Python 3.11+,安装脚本会自动用 Homebrew 安装依赖
  • Linux:需要 Python 3.11+,安装脚本会自动用 apt 安装依赖
  • Windows:需要 Git for Windows 和 Python 3.11+

你可以先检查一下 Python 版本:

python3 --version

如果显示的版本号低于 3.11,你需要先升级 Python。

一键安装

macOS 和 Linux 用户直接运行这个命令:

curl -sL https://browser-use.com/install | sh

Windows 用户在 PowerShell 中运行:

irm browser-use.com/install | iex

安装完成后,你可以在终端验证一下:

browser-use --version

如果能看到版本号,说明安装成功了。

我建议同时也安装一下官方提供的 Skill,这样你的 AI Agent 在使用这个 CLI 的时候能够获得完整的上下文。不过这个是可选的,我们先不展开。

第一个例子:打开浏览器,访问页面

现在我们来跑一个最简单的例子。

启动浏览器

直接在终端输入:

browser-use open https://www.google.com

第一次运行的时候,它会下载并启动 Chromium 浏览器。稍等几秒钟,你应该会看到浏览器窗口打开并访问了 Google 主页。

如果你想看浏览器界面,可以加上 --headed 参数:

browser-use open https://www.github.com --headed

查看页面状态

现在我们在另一个终端窗口输入:

browser-use state

这会返回当前页面的 URL、标题,以及页面上所有可点击的元素。每个元素都有一个编号,后面我们就可以用这些编号来操作页面。

输出大概是这个样子的:

URL: https://www.github.com
Title: GitHub: Let's build from here

Clickable elements:
[0] Sign in (button)
[1] Sign up (button)
[2] Explore (link)
[3] Marketplace (link)
...

核心命令实战

光打开页面没意思,我们来玩点真的。

点击元素

比如我们想点击页面上的 “Sign in” 按钮,直接用编号就行:

browser-use click 0

浏览器就会自动点击编号为 0 的元素,也就是 “Sign in” 按钮。页面会跳转到登录页面。

如果你知道元素的坐标,也可以直接点击指定位置:

browser-use click 200 300

输入文字

登录页面一般有用户名和密码输入框。先看一下当前页面的元素:

browser-use state

假设输出显示:

[0] Username or email address (input)
[1] Password (input)
[2] Sign in (button)

我们可以用 input 命令先点击输入框再输入文字:

browser-use input 0 "[email protected]"
browser-use input 1 "your-password"

或者先用 click 聚焦输入框,然后用 type 输入:

browser-use click 0
browser-use type "[email protected]"

截图

想看看当前页面长什么样?直接截图:

browser-use screenshot

这会返回 base64 编码的图片数据。如果你想保存到文件:

browser-use screenshot ~/Desktop/github-login.png

如果需要截取整个页面(不只是当前可视区域):

browser-use screenshot --full ~/Desktop/github-full.png

滚动页面

页面太长看不见下面怎么办?

browser-use scroll down

一次滚动一页。如果你想精确控制滚动距离:

browser-use scroll down --amount 1000

向上滚动也可以:

browser-use scroll up

等待元素

有些页面是动态加载的,你需要等待某个元素出现才能继续操作:

browser-use wait selector ".loading" --state hidden

这行命令会等待 class 为 “loading” 的元素消失再继续。也可以等待特定文本出现:

browser-use wait text "Success"

默认等待时间是 30 秒,如果想自定义:

browser-use wait selector "h1" --timeout 5000

获取页面信息

想获取页面的某个元素内容?

browser-use get title

这会返回页面标题。

获取某个元素的文本内容:

browser-use get text 5

获取输入框的值:

browser-use get value 3

获取元素的 HTML:

browser-use get html --selector "h1"

真实使用场景:自动填表

我们来完整地走一遍一个真实场景:自动填写并提交一个表单。

假设我们有一个测试表单页面,先打开它:

browser-use open https://example.com/form

查看页面元素:

browser-use state

假设表单结构如下:

[0] Name (input)
[1] Email (input)
[2] Subject (select)
[3] Message (textarea)
[4] Submit (button)

现在我们来填写:

browser-use input 0 "张三"
browser-use input 1 "[email protected]"

下拉菜单用 select 命令:

browser-use select 2 "技术支持"

文本域用 input 也可以:

browser-use input 3 "这是一个测试消息"

最后点击提交按钮:

browser-use click 4

整个过程就像有人在操作浏览器一样,但全部都是自动化的。

浏览器模式详解

browser-use-cli 支持三种浏览器模式,适用于不同的场景。

1. 无头模式(默认)

不显示浏览器窗口,完全在后台运行。适合批量自动化任务:

browser-use open https://example.com

2. 有头模式

显示浏览器窗口,可以看到实际操作过程。适合调试:

browser-use open https://example.com --headed

3. 复用真实 Chrome

如果你想用自己已经登录的 Chrome 浏览器(保留 cookie 和会话),可以这样:

browser-use open https://example.com --profile

这会使用你 Chrome 浏览器的默认配置文件。你也可以指定特定的配置文件:

browser-use open https://example.com --profile "Work"

这样你就不需要每次都重新登录了。

4. 云端浏览器

如果你需要使用 Browser Use 的云端浏览器服务:

browser-use cloud connect

这会创建一个云端浏览器会话。具体的使用方法可以参考官方文档,这里就不展开说了。

工作原理:守护进程架构

为什么 browser-use-cli 这么快?秘密在于它的守护进程架构。

当你第一次执行命令时,它会启动一个后台守护进程。这个守护进程会一直保持浏览器打开状态,后续的命令都通过 Unix 套接字(Windows 上是 TCP)与这个守护进程通信。正因为不需要每次都启动浏览器,所以延迟只有约 50 毫秒。

每个会话(session)都有自己独立的守护进程、套接字和 PID 文件,存放在 ~/.browser-use/ 目录下。你可以用 --session 参数来管理多个独立的浏览器会话:

browser-use open https://example.com --session work
browser-use open https://example.com --session personal

这样你有两个独立的浏览器实例,互不干扰。

用完了想关闭浏览器:

browser-use close

关闭所有会话:

browser-use close --all

查看当前有哪些活跃的会话:

browser-use sessions

文件结构

browser-use-cli 会把你的配置和数据存在 ~/.browser-use/ 目录下。你可以通过设置 BROWSER_USE_HOME 环境变量来改变这个位置。

主要的文件包括:

  • config.json — 存放 API key 等配置
  • daemon.pid — 守护进程的进程 ID
  • socket — 与守护进程通信的套接字文件
  • bin/ — 存放可执行文件,比如 profile-use

经验分享:几个小技巧

1. 调试时用 JSON 输出

有些命令可以加上 --json 参数,返回结构化的 JSON 数据,方便程序解析:

browser-use state --json

2. 使用 MCP 模式

如果你想让 AI Agent 更智能地控制浏览器,可以启用 MCP 模式:

browser-use --mcp

这样它会通过 stdin/stdout 与 AI Agent 通信。

3. Cookie 管理

browser-use-cli 提供了完整的 cookie 管理功能。比如你想导出当前网站的 cookie:

browser-use cookies export ~/Desktop/cookies.json

下次想导入:

browser-use cookies import ~/Desktop/cookies.json

查看当前域名的 cookie:

browser-use cookies get --url https://example.com

设置 cookie:

browser-use cookies set session_id abc123 --domain .example.com

4. 执行 JavaScript

有时候你需要执行一些自定义的 JavaScript 代码:

browser-use eval "document.title"

这会返回页面的标题(和 get title 效果一样,但展示了执行 JS 的能力)。你可以执行任意 JS 代码来做更复杂的操作。

5. 命名会话管理

给会话起个名字方便记忆:

browser-use open https://github.com --session github自动化

之后直接用这个名称调用会话:

browser-use state --session github自动化

常见问题

安装完成后提示找不到命令?

检查一下你的 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/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部