browser-use WebUI + DeepSeek 基于AI的UI自动化解决方案

打印 上一主题 下一主题

主题 1585|帖子 1585|积分 4755

一、browser-use是什么

Browser Use 是一款开源Python库,专为大语言模型计划的智能欣赏器工具,目的是让 AI 可以或许像人类一样自然地欣赏和操纵网页。它支持多标签页管理、视觉辨认、内容提取,并能记载和重复实行特定动作。Browser Use 还支持开发者自定义动作,如生存数据到数据库,文件等。支持多种主流的大型语言模型,如 DeepSeek,GPT-4 和 Claude等,并支持同时运行多个任务,具备自我修正功能,从而提高任务实行的正确性和服从。
官网:https://browser-use.com/
项目网址 :https://github.com/browser-use/browser-use
Browser-use采用的技能栈为:



  • 1、Observation:页面剖析层,采用DOM剖析+截图辅助的非视觉+视觉方案。

    • DOM剖析(HTML + XPath):Browser-use通过底层框架(如Playwright)获取当前页面的完整HTML结构,并提取文本、元素属性等关键信息。
    • 截图辅助:在某些情况下(如验证码辨认、动态图形验证),纯HTML剖析可能无法直接获取信息,此时体系会自动或按需天生页面截图,并将截图作为辅助输入传递给视觉模型

  • 2、Thought:核心决议层,分析Observation提供的页面信息并天生操纵指令。
  • 3、Action:指令实行层,微软开发的Playwright作为欣赏器控制框架直接与欣赏器交互完成自动化任务。Playwright作为新一代高性能UI自动化测试框架,提供低延迟、高稳定性的欣赏器控制本领,支持快速页面加载和元素操纵。
二、browser-use webui 紧张功能

提供了全新的网页界面,简单好用,方便操纵。
支持更多大语言模型,比如 Gemini、OpenAI、Azure 等,哦,还有最近爆火的国产大模型 DeepSeek,未来还会加更多。
支持用自己的欣赏器,不用再反复登录,还能录屏。
定制了更智能的 Agent,通过优化后的提示让欣赏器利用更高效。
利用场景



  • 自动化任务:适合重复高频的欣赏器操纵任务,如表单填写,信息检索,文件下载
  • 数据收集:适合爬取网络上的数据,如爬虫自动化测试:适合WEB UI
  • 自动化测试,结合pytest轻松实现web自动化
三、利用教程

1.python 安装

  1. python 官网: https://www.python.org/downloads/
  2.     版本必须在 3.11 以上。
复制代码
2、把项目clone下来

  1. git clone https://github.com/browser-use/web-ui.git
  2. cd web-ui
复制代码
3、安装依赖

  1. pip install browser-use
  2. playwright install
  3. pip install -r requirements.txt
复制代码
4、设置情况

基于 .env.example 复制一个 .env 文件,并在 .env 文件中修改以下信息
  1. # 路径 Chrome 浏览器路径(检查下自己的路径),例如
  2. # Mac OS "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
  3. # Windows "C:\Program Files\Google\Chrome\Application\chrome.exe"
  4. CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
  5. # 浏览器的用户数据路径,例如
  6. # Mac OS "/Users/<YourUsername>/Library/Application Support/Google/Chrome"
  7. # Windows "C:\Users\<YourUsername>\AppData\Local\Google\Chrome\User Data"
  8. CHROME_USER_DATA="/Users/<YourUsername>/Library/Application Support/Google/Chrome"
  9. # 还有一些大模型的 API Key 也要改
  10. ...
复制代码
5、启动

实行如下命令启动
  1. python webui.py --ip 127.0.0.1 --port 7788
复制代码
启动乐成如下所示:

欣赏器访问 http://127.0.0.1:7788/,看到如下界面就乐成了

6、设置

1.设置 Agent

注意,这里的 Use Vision,默认是选中状态,如果利用的 DeepSeek 不能勾选,因为 DeepSeek 不支持视觉输入,注意这里许多人踩坑,肯定要注意。

2.设置要用的大模型

比方,下面我用的是 deepseek。

3.关于欣赏器的一些设置


四、DeepSeek 的API获取

DeepSeek :https://platform.deepseek.com/api_keys

五、界面Demo 演示

输入要实行的任务就可以点击 Run Agent 了

以下是运行时的项目日记输出,记载了实行步骤

实行的过程中也会打开欣赏器和跳转到目的网站,按照区块一样对页面元素做标注。

在 Recodings 下会记载实行过程和反馈效果,还可以回看的。

六、代码示例

1.创建Agent

  1. from langchain_openai import ChatOpenAI
  2. from browser_use import Agent
  3. import asyncio
  4. async def main():
  5.     agent = Agent(
  6.         task="Go to Reddit, search for 'browser-use' in the search bar, click on the first post and return the first comment.",
  7.         llm=ChatOpenAI(model="gpt-4o"),
  8.     )
  9.     result = await agent.run()
  10.     print(result)
  11. asyncio.run(main())
复制代码
如果没有openai-key的可以利用其他模型,下面以DeepSeek为例:
该文件在 browser-use/examples/deepseek.py
  1. import asyncio
  2. import os
  3. from dotenv import load_dotenv
  4. from langchain_openai import ChatOpenAI
  5. from pydantic import SecretStr
  6. from browser_use import Agent
  7. # dotenv
  8. load_dotenv()
  9. api_key = os.getenv('DEEPSEEK_API_KEY', 'sk-xxxxxx')
  10. if not api_key:
  11.         raise ValueError('DEEPSEEK_API_KEY is not set')
  12. async def run_search():
  13.         agent = Agent(
  14.                 task=(
  15.                        
  16.                         "1. 在搜索框中输入抖音并搜索"
  17.                         '2. 点击搜索结果中的第一个链接'
  18.                         '3. 关闭扫码登录'       
  19.             '3. 返回第一个视频的内容'
  20.    
  21.                 ),
  22.                 llm=ChatOpenAI(
  23.                         base_url='https://api.deepseek.com/v1',
  24.                         model='deepseek-chat',
  25.                         api_key=SecretStr(api_key),
  26.                 ),
  27.                 use_vision=False,
  28.         )
  29.         await agent.run()
  30. if __name__ == '__main__':
  31.         asyncio.run(run_search())
复制代码
运行效果如下:

七、实例展示

一、爬取基金数据

  1. llm = ChatOpenAI(
  2.     model='deepseek-chat',
  3.     api_key='*************',
  4.     base_url='https://api.deepseek.com',
  5.     temperature=0
  6. )
  7. asyncdefmain():
  8.     agent = Agent(
  9.         task="""
  10.         1、导航到网址:https://fund.eastmoney.com/
  11.         2、点击基金排行
  12.         3、返回排行前10的基金数据,以json格式返回
  13.         """,
  14.         llm=llm,
  15.         use_vision=False,
  16.     )
  17.     result = await agent.run()
  18.     print(result.final_result())
  19. asyncio.run(main())
复制代码
二、效果展示

1、导航到指定网址


2、点击基金排行


3、提取top 10的基金数据

[code]DEBUG    [browser_use] --act Execution time: 0.00 seconds
INFO     [controller]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

渣渣兔

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表