一、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 安装
- python 官网: https://www.python.org/downloads/
- 版本必须在 3.11 以上。
复制代码 2、把项目clone下来
- git clone https://github.com/browser-use/web-ui.git
- cd web-ui
复制代码 3、安装依赖
- pip install browser-use
- playwright install
- pip install -r requirements.txt
复制代码 4、设置情况
基于 .env.example 复制一个 .env 文件,并在 .env 文件中修改以下信息
- # 路径 Chrome 浏览器路径(检查下自己的路径),例如
- # Mac OS "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
- # Windows "C:\Program Files\Google\Chrome\Application\chrome.exe"
- CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
- # 浏览器的用户数据路径,例如
- # Mac OS "/Users/<YourUsername>/Library/Application Support/Google/Chrome"
- # Windows "C:\Users\<YourUsername>\AppData\Local\Google\Chrome\User Data"
- CHROME_USER_DATA="/Users/<YourUsername>/Library/Application Support/Google/Chrome"
- # 还有一些大模型的 API Key 也要改
- ...
复制代码 5、启动
实行如下命令启动
- 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
- from langchain_openai import ChatOpenAI
- from browser_use import Agent
- import asyncio
-
- async def main():
- agent = Agent(
- task="Go to Reddit, search for 'browser-use' in the search bar, click on the first post and return the first comment.",
- llm=ChatOpenAI(model="gpt-4o"),
- )
- result = await agent.run()
- print(result)
-
- asyncio.run(main())
复制代码 如果没有openai-key的可以利用其他模型,下面以DeepSeek为例:
该文件在 browser-use/examples/deepseek.py
- import asyncio
- import os
-
- from dotenv import load_dotenv
- from langchain_openai import ChatOpenAI
- from pydantic import SecretStr
-
- from browser_use import Agent
-
- # dotenv
- load_dotenv()
-
- api_key = os.getenv('DEEPSEEK_API_KEY', 'sk-xxxxxx')
- if not api_key:
- raise ValueError('DEEPSEEK_API_KEY is not set')
-
-
- async def run_search():
- agent = Agent(
- task=(
-
- "1. 在搜索框中输入抖音并搜索"
- '2. 点击搜索结果中的第一个链接'
- '3. 关闭扫码登录'
- '3. 返回第一个视频的内容'
-
- ),
- llm=ChatOpenAI(
- base_url='https://api.deepseek.com/v1',
- model='deepseek-chat',
- api_key=SecretStr(api_key),
- ),
- use_vision=False,
- )
-
- await agent.run()
-
-
- if __name__ == '__main__':
- asyncio.run(run_search())
复制代码 运行效果如下:
七、实例展示
一、爬取基金数据
- llm = ChatOpenAI(
- model='deepseek-chat',
- api_key='*************',
- base_url='https://api.deepseek.com',
- temperature=0
- )
- asyncdefmain():
- agent = Agent(
- task="""
- 1、导航到网址:https://fund.eastmoney.com/
- 2、点击基金排行
- 3、返回排行前10的基金数据,以json格式返回
- """,
- llm=llm,
- use_vision=False,
- )
- result = await agent.run()
- print(result.final_result())
- asyncio.run(main())
复制代码 二、效果展示
1、导航到指定网址
2、点击基金排行
3、提取top 10的基金数据
[code]DEBUG [browser_use] --act Execution time: 0.00 seconds
INFO [controller] |