实战
用 Browser Use 让 Agent 自动填表、抓数据
很多系统没有 API,只能靠人在网页上点来点去填表、导数据。Browser Use 是开源的「浏览器操作 Agent」,你用自然语言下指令,它自己打开网页、识别元素、输入、点击、抓取结果。本教程跑通「自动登录后台填表并导出数据」。
🌐 本教程适合:会用 Python、想把重复网页操作自动化的开发者/运营。注意只用于你有权限的系统。
Step 1:安装与环境
1 安装与环境
Browser Use 基于 Playwright,需要 Python 3.11+。
pip install browser-use
playwright install chromium
export OPENAI_API_KEY="sk-..."
Step 2:写第一个任务脚本
2 写第一个任务脚本
核心就是一个 Agent + 一句 task 自然语言。下面让它打开某页面并提取标题。
from browser_use import Agent
import asyncio
from langchain_openai import ChatOpenAI
agent = Agent(
task="打开 https://example.com 并告诉我首页标题",
llm=ChatOpenAI(model="gpt-4o"))
asyncio.run(agent.run())
Step 3:让 Agent 打开网页并填表
3 让 Agent 打开网页并填表
把 task 写具体:「登录 → 进入 XX 表单 → 在字段 A 填值 → 提交」。越具体成功率越高。
task = """
1. 访问 https://crm.example.com 并用账号密码登录
2. 进入「新建客户」表单
3. 在「公司名」填 Acme,「行业」选 SaaS
4. 点击保存,返回成功提示
"""
Step 4:处理登录与验证码
4 处理登录与验证码
遇到验证码/二次验证,Agent 会卡住。用 Human-in-the-loop 模式暂停,人工输入后再继续;或预先用 cookie 登录。
合规红线:只对你拥有或获授权的系统操作。切勿用其绕过他人网站的安全限制或抓取受保护数据。
Step 5:抓取并导出数据
5 抓取并导出数据
让 Agent 把列表页数据整理成结构化结果返回,你再存成 CSV / 写库。
task = "把第 1-5 页客户列表的 名称/邮箱/状态 提取为 JSON 返回"
result = asyncio.run(agent.run())
# result 里取出结构化数据落库
Step 6:稳定性与成本优化
6 稳定性与成本优化
网页结构一变 Agent 就可能失手。给关键步骤加「校验」,失败重试;长任务用便宜模型做导航、强模型做决策,省成本。
常见问题速查
| 你遇到的现象 | 大概率原因 & 解决 |
|---|---|
| 卡在登录/验证码 | 用人工接管或预置 cookie 登录 |
| 填错字段 | task 写清字段名与值,加校验步骤 |
| 页面一改就挂 | 加重试 + selector 兜底,监控失败率 |
| 太贵/太慢 | 导航用轻量模型,决策才用强模型 |