
开源AI自动操作浏览器自动化任务|browser-use
browser-use 是一个用于浏览器自动化的 Python 库,旨在简化与浏览器的交互,自动化执行浏览器中的任务。它为开发者提供了一个高效、易于使用的框架,可以帮助自动化多种浏览器操作,如页面导航、元素交互、截图、表单填写等。
主要特点:
- 跨浏览器支持:browser-use 支持多个常见的浏览器(如 Chrome、Firefox 等),可以在不同的浏览器环境中执行自动化任务,保证一致性。
- 简洁的 API:该库提供了一个高层次的 API,使得用户可以使用更简单的命令进行浏览器操作,而不需要深入理解底层实现。只需关注任务的流程和目标。
- 任务自动化:用户可以轻松地编写脚本,实现自动化任务。例如,自动化填充表单、点击按钮、导航到特定页面等,极大提高了工作效率。
- 集成与扩展:browser-use 可与其他工具(如 pytest 等测试框架)结合使用,帮助用户实现端到端的自动化测试。
- 支持浏览器插件:可以通过设置插件与浏览器交互,扩展功能,支持像广告屏蔽、性能分析等插件的操作。
- 浏览器控制与验证:除了基础的自动化操作,browser-use 还提供了验证功能,允许开发者检查网页元素的状态、获取信息并进行验证。
典型使用场景:
• 自动化表单填写:模拟用户输入,自动填写注册、登录、订阅等表单。
• 抓取网页数据:自动化获取网页内容,执行爬虫任务,提取有用信息。
• 自动化测试:与 pytest 等框架结合,进行 Web 应用的自动化端到端测试。
• 浏览器行为模拟:模拟用户行为,如点击、滑动、键盘输入等,测试前端应用的响应。
项目仓库
GitHub:https://github.com/browser-use/browser-use
前置条件
在执行项目安装之前,我们还需要安装Git
和Conda
,如果您的电脑还未安装这几个软件,请先根据本站所给出的教程安装。
Windows系统安装Git请参阅此文章:
Windows系统安装Conda请参阅此文章:
网络问题
在安装过程中,你可能即便开启了魔法上网也无法下载一些编程依赖库,关于魔法上网的相关配置问题不方便在站内讲解,请自行查看【魔法上网】的教程内容。
安装教程
如果您是初学者,对于命令行不太理解,那么请按下键盘上的Win键+R键
后,在弹出的新窗口内输入CMD
并按下回车
键,在CMD窗口
中按顺序执行
如下的每一条命令
。
首先我们需要确认一个工作目录,用来存放该项目的相关环境依赖文件。本站所选择的目录为D盘
的根目录下openai.wiki
文件夹,完整路径为:D:\\openai.wiki
。
在CMD中执行如下命令,这将会自动检测D盘
是否在openai.wiki
文件夹,没有则自动创建
该文件夹
。
if not exist D:\\openai.wiki mkdir D:\\openai.wiki
继续执行如下命令
,在CMD中强制切换当前工作路径为D盘
的openai.wiki
文件夹。
cd /d D:\\openai.wiki
拉取
该项目的Github仓库
文件,将其下载至openai.wiki
文件夹内。
git clone https://github.com/browser-use/browser-use.git
注意:如果您无法完成此步骤,执行后报错或者无法下载,可以下载该文件将其解压至D:\\openai.wiki
即可。
环境部署
在CMD中执行如下命令,强制切换至browser-use
的项目目录。
cd /d D:\\openai.wiki\\browser-use
在CMD中执行下面的命令行,创建Conda虚拟环境
至该项目的目录中,方便日后重装系统也能够正常使用,无需重新部署环境。
conda create -y -p D:\\openai.wiki\\browser-use\\ENV python=3.11
初始化Conda环境
,防止后续操作可能存在报错等问题。
conda init cmd.exe
激活
已创建的Conda环境
,这样可以将我们后续所需要的所有环境依赖都安装至此环境下。
conda activate D:\\openai.wiki\\browser-use\\ENV
执行如下命令,安装
该项目的相关模块
依赖库。
pip3 install browser-use
执行如下命令,安装
该项目需要的pytest
模块依赖库,主要用于自动化测试单元
。
pip3 install pytest
最后,该项目还需要安装playwright
,这是微软开发的开源浏览器自动化库,支持 Chromium、Firefox 和 WebKit 三大浏览器,执行如下代码即可自动安装。
playwright install
如果你希望以后使用web-ui来进行操作,需要执行下面的命令来安装相关依赖。
pip install gradio
运行方式
在以后每次运行该项目时,只需要先激活我们刚刚所创建的Conda虚拟Python环境,然后运行启动文件即可。
在CMD中执行如下命令,强制切换至项目目录文件夹。
cd /d D:\\openai.wiki\\browser-use
激活已创建的Conda环境,这样才可以正常使用该项目,否则将会自动调用系统中的默认Python。
conda activate D:\\openai.wiki\\browser-use\\ENV
使用教程
无界面版
执行如下代码,使程序启动。
from langchain_openai import ChatOpenAI from browser_use import Agent import asyncio from dotenv import load_dotenv load_dotenv() # openai的api密钥 os.environ["OPENAI_API_KEY"] = "sk-5W3EaDIzFf0cg9XzF816Fb434bF84c359f13E5173b073181" # 如果你不使用官方openai的官方api接口,可以使用以下方式自动定义,否则可忽略此处的设置。 # os.environ["OPENAI_API_BASE"] = "<https://api.openai.wiki>" async def main(): agent = Agent( task="转到 baidu.com,搜索“deepseek”,单击第一篇文章并返回第一条评论。", llm=ChatOpenAI(model="gpt-4o"), ) result = await agent.run() print(result) asyncio.run(main())
有界面版
在CMD中执行以下命令,启动Web-UI的浏览器界面。
python examples/ui/gradio_demo.py
运行完成后,稍等片刻,可以看到如下信息。
(D:\\openai.wiki\\browser-use\\ENV) D:\\openai.wiki\\browser-use>python examples/ui/gradio_demo.py INFO [browser_use] BrowserUse logging setup complete with level info INFO [root] Anonymized telemetry enabled. See <https://docs.browser-use.com/development/telemetry> for more information. * Running on local URL: <http://127.0.0.1:7860> To create a public link, set `share=True` in `launch()`.
我们可以看到命令行中出现http://127.0.0.1:7860
这一地址,这就是我们的浏览器界面地址啦,在浏览器中打开此网址,即可看到如下页面。
我们需要在其中输入Openai的API密钥,然后再输入任务即可,等待片刻自动输出结果。效果示例

效果示例

总结
这个WebUI的界面依然很简陋,后续本站将会推出更好的Web-UI教程,理论上应该就是下一篇。
效果还是不错的,比想象中的要好很多,复现也不复杂,而且官方给出了很多示例,代码全部在examples
文件夹中,可自行翻阅。
原创文章,作者:PhiltreX,如若转载,请注明出处:https://openai.wiki/browser-use-automation-tutorial.html