一、项目定位与技术价值

1.1 智能体开发新范式

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

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

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

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

1.2 与 DeepSeek 的深度整合

Browser-Use 对 DeepSeek 的适配优势:

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

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

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

二、核心架构解析

2.1 模块化设计

模块

核心功能

DeepSeek 整合点

Agent

任务规划与状态管理

调用 deepseek-chat 生成操作链

Controller

动作注册与执行

解析模型输出的 JSON 指令

Browser

浏览器实例控制

结合视觉模型处理验证码

DOM

元素定位与信息提取

生成 XPath 供模型决策

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 轮换机制(需配合代理池)

六、常见问题排查

问题现象

解决方案

DeepSeek 返回内容为空

检查 .env 文件密钥格式

浏览器无法启动

确认 Chrome 路径与版本匹配

元素定位失败

启用 use_vision=True 增强识别

执行速度过慢

设置 headless=True 启用无头模式

最后作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐