教程中心实战
实战

用 browser-use 让 AI 自动操控浏览器:抓取数据、填表单、自动发布

2026.07.13· 7 个步骤 · 20 分钟阅读· 🌐 browser-use

你有没有过这种崩溃瞬间:老板让你"把竞品官网的价格都扒下来做个表",你吭哧吭哧一个个页面点、复制、粘贴,半小时才弄了三行。browser-use 就是来干掉这种重复劳动的——它 GitHub 上已经攒了近两万 Star,一句话理解:你用自然语言描述"想干啥",AI Agent 自己打开浏览器、看页面、点按钮、填表单、把结果抓回来。本教程从装环境到跑通一个真实案例,一步步带你上手。

🌐 本教程适合:会一点点 Python(能复制粘贴运行脚本就行)、想让 AI 自动处理网页数据的运营 / 分析师 / 开发者。完全不会编程也能跟着抄,但建议先了解基本的命令行操作。

先搞懂:browser-use 是什么?

把浏览器想象成一个"工位",传统爬虫是你雇人写规则"第几个 div 里的文字",规则一变全崩。browser-use 则是请了一位会看屏幕的 AI 同事:它实时读取网页(支持视觉识别),自己决定"下一步点哪里、填什么",遇到验证码或弹窗也能灵活应对。它最擅长三类活儿:

能干啥通俗例子省下的时间
抓取网页数据"把微博前 10 条热搜列出来"手动 10 分钟 → 30 秒
自动填表 / 提交"登录后台,把这批订单状态改成已发货"手动 1 小时 → 几分钟
跨站自动发布"把这条文案发到小红书和微博"手动来回切 → 一句话

隐私红线先说在前:browser-use 操作的是真实浏览器,别让它碰密码、银行卡、验证码这类私密页面。只让它处理公开数据或可信任的后台,安全第一。

Step 1:准备 Python 环境

1 确认 Python 版本并装好 browser-use

browser-use 是 Python 项目,需要先有 Python 3.11+。打开终端,先确认版本:

# 查看 Python 版本(需要 3.11 或更高)
python --version

# 如果版本够,直接安装 browser-use
pip install browser-use

# 它依赖一个浏览器驱动 playwright,顺手装上
playwright install chromium
💡 装不上?多半是 Python 版本太老。去 python.org 下个最新版重装即可。国内下载慢的话,可以先配置清华镜像:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

Step 2:拿到一个大模型 API Key

2 AI 的"大脑"需要钥匙

browser-use 本身不生产智能,它需要一个大模型来"看屏幕、做决策"。新手推荐国内能直连的模型,便宜又稳:

常见选择(任选其一):
· DeepSeek       → deepseek.com 注册,充值几元即可
· 通义千问 Qwen  → 阿里云百炼,创建 API Key
· 智谱 GLM       → open.bigmodel.cn,有免费额度

把 Key 做成环境变量(以 DeepSeek 为例):
# Linux / macOS
export SILICON_CLOUD_API_KEY="sk-你的key"

# Windows PowerShell
$env:SILICON_CLOUD_API_KEY="sk-你的key"

Key 千万别泄露:它等于你家大门钥匙,谁拿到都能用你的额度花钱。别截图发群里,也别写进会公开的代码仓库。

Step 3:写第一段任务脚本

3 用自然语言"派活"给 AI

browser-use 的精髓就是:你不用写"怎么点",只写"要啥"。下面这段脚本让 AI 去抓微博热搜前 10 条,复制改改就能跑:

from langchain_openai import ChatOpenAI
from browser_use import Agent
import asyncio
import os

# 用 DeepSeek(通过 OpenAI 兼容接口)
llm = ChatOpenAI(
    model="deepseek-chat",
    api_key=os.getenv("SILICON_CLOUD_API_KEY"),
    base_url="https://api.deepseek.com/v1"
)

async def main():
    agent = Agent(
        task="打开微博热搜榜,把当前前 10 条热搜的标题和热度列出来。",
        llm=llm,
        use_vision=False   # 纯文字任务可关掉视觉,更省 token
    )
    result = await agent.run()
    print(result)

asyncio.run(main())
🔑 三个关键参数:task 是你用大白话描述的目标;llm 是接的模型;use_vision 控制是否让 AI"看"截图——需要识别图片/验证码时设 True,纯文字抓取设 False 更省钱。

Step 4:运行并看懂结果

4 跑起来,看 AI 怎么干活

把上面脚本存成 hotsearch.py,在终端运行:

python hotsearch.py

你会看到 AI 自动:打开浏览器 → 导航到微博热搜 → 读取页面 → 提取标题和热力值 → 返回结果。真实案例里它能准确抓出前 10 条,和网页实际一致。这正是"告诉它目标,它自己想办法"的爽点。

卡住了?常见三原因:① Key 没设对(回 Step 2 检查);② 目标写太模糊("帮我看看热搜"→ 改成"列出前 10 条标题和热度");③ 页面需要登录(这种要先手动登录再让 Agent 接着干,或换成公开页面练手)。

Step 5:让它自动填表 / 提交

5 从"读"升级到"写"

抓取只是起点。把 task 改成"操作类",AI 就能替你填表。比如批量更新后台订单状态:

task = """
登录公司订单后台(已保存 Cookie 的浏览器),
把订单号 A1001、A1002、A1003 的状态都改为"已发货",
每改完一个截图确认,最后汇报哪些成功哪些失败。
"""
🚀 进阶玩法:把浏览器设置成"复用已登录会话",Agent 就能在你常用的、已登录的 Chrome 上继续操作,省去重复登录。官方还出了 browser-harness 这类让 Claude Code 直连真实浏览器的扩展,适合复杂任务。

Step 6:跨网站自动发布

6 一个指令,多平台分发

运营最头疼的"同一条内容发 N 个平台",交给它就对了。注意:涉及发布/对外动作,务必让 AI 先"确认"再发:

task = """
把下面这条文案分别发布到我的小红书和微博账号:
『今天体验了 browser-use,AI 自动帮我扒完了竞品数据,太香了 🤯』
发之前先告诉我将要发布的内容和平台,等我回复"确认"再正式发布。
"""

涉及"对外发布"务必加确认环节:把"直接发"改成"先汇报、等我确认"。这样就算 AI 理解偏了,也不会把不该发的发出去。这是 Agent 安全的最低防线。

Step 7:接进你的 AI 编程助手(可选)

7 让 Cursor / Claude Code 也能"开网页"

如果你用 Cursor、Claude Code 这类编程 Agent,可以装一个 OpenCLI 的 browser skill,让你的 AI 助手直接用你已登录的浏览器替你操作网站:

# 在你的 AI Agent 里执行(以 OpenCLI 为例)
npx skills add jackwener/opencli --skill opencli-browser

# 之后你只要说:
# "帮我在小红书上发布这篇内容"
# "看看我的 Twitter 通知并总结一下"
🎉 恭喜!你已掌握"用自然语言指挥 AI 操作浏览器"的完整能力。从抓数据、填表单到自动发布,这套思路能套到无数重复网页劳动上,把你自己从点击工里解放出来。

常见问题速查

你遇到的现象大概率原因 & 解决
提示缺少 playwright 浏览器执行 playwright install chromium 补装驱动
AI 答"无法连接模型"Step 2 的 API Key 没设好或没充值
抓取结果不全/错位task 写太笼统,拆细、明确"前 N 条""字段名"
遇到登录墙卡住改用已登录会话,或先用公开页面练手