写点什么

一文掌握 browser-use:基于 DeepSeek 的浏览器自动化实战

作者:测试人
  • 2025-05-29
    北京
  • 本文字数:1561 字

    阅读完需:约 5 分钟

一、项目定位与技术价值

1.1 智能体开发新范式


Browser-Use 作为开源 AI 自动化工具,通过集成 DeepSeek 等大模型与 Playwright 浏览器引擎,实现自然语言驱动的浏览器操作。其技术价值体现在:

低代码开发:仅需自然语言指令即可生成自动化脚本

多模态交互:融合 DOM 解析(精度 99%)+视觉识别

企业级扩展:支持私有化部署与多智能体协同

1.2 与 DeepSeek 的深度整合

Browser-Use 对 DeepSeek 的适配优势:

模型微调支持:可针对电商、金融等场景优化提示词

API 调用优化:支持流式响应与长文本处理

成本控制:DeepSeek 推理成本仅为 GPT-4 的 1/5

二、核心架构解析

2.1 模块化设计


2.2 执行流程时序

1. 初始化阶段:

加载 DeepSeek API 密钥

启动带 Cookie 的 Chrome 实例

2. 决策阶段:

# 模型输出示例  {    "action": "click_element",    "params": {"xpath": "//button[@id='submit-order']"}  } 
复制代码

3. 执行阶段:

Playwright 执行点击/输入等操作

失败时自动重试(最大重试次数 3 次)

三、环境配置指南

3.1 基础安装

# 创建 Python 3.11 虚拟环境  conda create -n browser_use python=3.11  conda activate browser_use  
# 安装核心依赖 pip install browser-use playwright -i https://pypi.tuna.tsinghua.edu.cn/simple playwright install chromium # 安装 Chromium 浏览器
复制代码

3.2 DeepSeek 配置

1. 获取 API Key:

  • 登录 DeepSeek 控制台

2. 配置环境变量:

echo "DEEPSEEK_API_KEY=sk-your-key-here" >> .env
复制代码

四、实战案例:电商自动下单

4.1 场景设计

完成淘宝购物全流程:

  1. 登录账号(使用本地保存的 Cookie)

  2. 搜索「机械键盘」并筛选「销量排序」

  3. 选择第一个商品加入购物车

  4. 提交订单并填写收货地址

4.2 代码实现

from langchain_openai import ChatOpenAI  from browser_use import Agent, BrowserConfig, Browser  import asyncio  import os  
# 配置本地 Chrome 路径(需提前登录淘宝) config = BrowserConfig( chrome_instance_path="C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe", headless=False # 显示浏览器界面(网页10) )
async def taobao_order(): browser = Browser(config=config) llm = ChatOpenAI( base_url="https://api.deepseek.com/v1", model="deepseek-chat", api_key=os.getenv("DEEPSEEK_API_KEY") )
agent = Agent( browser=browser, task=''' 1. 打开 taobao.com 并等待登录完成 2. 搜索"机械键盘",按销量排序 3. 选择第一个商品进入详情页 4. 点击"加入购物车" 5. 进入购物车提交订单 6. 选择默认地址并支付 ''', llm=llm, max_steps=20 # 最大执行步骤(网页6) )
await agent.run() await browser.close()
asyncio.run(taobao_order())
复制代码

4.3 关键技术点

登录态保持:利用已登录的 Chrome 实例绕过验证

元素定位策略:

# DeepSeek 生成的 XPath  "//div[contains(text(),'销量')]/ancestor::button"  
复制代码

异常处理:

商品缺货时自动选择下一商品

支付失败时截图保存

五、进阶应用:数据采集与 RAG

5.1 竞品价格监控系统

task = '''  1. 打开 jd.com 搜索"无线鼠标"  2. 采集前10个商品的:     - 名称     - 价格     - 评论数  3. 保存为 CSV 文件  '''  
# 输出数据结构化 class Product(BaseModel): name: str price: float reviews: int
controller = Controller(output_model=List[Product])
复制代码

5.2 技术增强点

动态页面处理:

await page.wait_for_selector("//div[@class='price']", timeout=5000)  
复制代码

反爬对抗:

  • 随机滑动速度模拟

  • IP 轮换机制(需配合代理池)

六、常见问题排查


发布于: 刚刚阅读数: 2
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
一文掌握 browser-use:基于 DeepSeek 的浏览器自动化实战_人工智能_测试人_InfoQ写作社区