Browser Use – 让 AI 像人类一样使用浏览器

22次阅读
没有评论

共计 2186 个字符,预计需要花费 6 分钟才能阅读完成。

Browser Use 是一个开源的网络自动化工具,其利用语言模型让 AI Agent 能够像真实用户一样操作浏览器,自动完成设置的动作,如填写表单、内容提取等。

效果如下:

安装 Browser Use#

安装过程很简单,在高于 Python 3.11 的环境下,直接使用 pip 安装就行了:

> python3 -m venv qileq-workspace
> source qileq-workspace/bin/activate
> python3 -m pip install browser-use

安装完成后,还需要再安装 playwright 来执行自动化任务:

> playwright install

接下来我们就可以创建 agent 脚本运行任务了。

使用 Browser Use#

创建 agent#

创建 agent 脚本,这里假设脚本名为 agent.py

官方提供了一个参考脚本,使用 GPT-4o 的 API 让 Browser Use 去 Reddit 搜索框搜索 browser-use,然后返回第一个帖子的第一个评论,脚本内容如下:

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())

设置 API 密钥#

在正式运行前,还需要设置模型的 API 密钥。

设置方法也很简单:在当前目录下创建一个名为 .env 的文件,然后在里面添加一个名为 OPENAI_API_KEY 的环境变量,值为你的 OpenAI API 密钥,然后运行脚本即可。

不同模型服务对应的环境变量不同,具体值可参考 LangChain 官网的说明。如下是一些常用模型对应的环境变量名:

大模型服务 环境变量名
OpenAI OPENAI_API_KEY
Anthropic ANTHROPIC_API_KEY
Azure AZURE_OPENAI_API_KEY
Nvidia NVIDIA_API_KEY

运行#

使用 python3 agent.py 即可运行脚本。

测试#

假如我有其他需求应该怎么做呢?比如我想使用 DeepSeek 模型去小红书上找一张外国小姐姐的照片,然后把照片保存在本地应该怎么做呢?

那我们再创建一个 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', '')
if not api_key:
    raise ValueError('DEEPSEEK_API_KEY is not set')

async def run_search():
    agent = Agent(
        task=(
            '1. 打开 https://www.xiaohongshu.com/explore'
            '2. 点击登录按钮,等待我扫码登录'
            "3. 在搜索框中搜索 '漂亮小姐姐' "
            "4. 点击第一个返回结果,等待 10 秒钟后退出"
        ),
        llm=ChatOpenAI(
            base_url='https://api.deepseek.com/v1',
            model='deepseek-chat',
            api_key=SecretStr(api_key),
        ),
        tool_call_in_content=True,
        use_vision=False,
    )

    await agent.run()


if __name__ == '__main__':
    asyncio.run(run_search())

.env 中添加 DEEPSEEK_API_KEY 环境变量,然后运行 python3 deepseek.py 即可完成任务。

就我多个场景的测试结果来看,Browser Use 目前能完成很多操作了,但仍有少量页面元素识别起来还有点问题,导致可能最终无法正确完成我们的需求。不过相信未来这些问题都能解决。

Web UI#

为方便使用,Browser Use 还提供了一个 Web UI,这样可以直接在浏览器中直接配置任务,不需要再写 Agent 代码了。

Web UI 的运行很简单,只要克隆项目并安装依赖后,在项目根目录下执行 python3 webui.py --ip 127.0.0.1 --port 7788 即可启动 Web UI。

用户可根据需求选择是使用 Browser Use 写 Agent 还是直接使用 Web UI。

应用场景#

基本上浏览器相关的操作都使用 Browser Use 来完成,包括搜索、点击、输入、截图等。 比如搜索机票、火车票等。而官网也提供了一些示例,比如自动寻找工作岗位并把简历提交给匹配岗位自动发布推特。更多示例请点此查看。

项目地址#

  1. Browser Use 官网地址
  2. Browser Use 代码地址
正文完
 0
管理员
版权声明:本站原创文章,由 管理员 于2025-01-23发表,共计2186字。
转载说明:除特殊说明外本站文章皆由 CC-4.0 协议发布,转载请注明出处。
评论(没有评论)