Browser集成Browser Use

浏览器使用

浏览器使用是一个浏览器自动化 SDK,它使用屏幕截图来捕获浏览器的状态,并使用操作来模拟用户交互。本章将介绍如何轻松使用browser-use通过简单的调用在 Web 上执行代理任务。

获取 Scrapeless API 密钥

查看仪表板的设置选项卡:

然后复制并在你的 .env 文件中设置 SCRAPELESS_API_KEY 环境变量。

你的 .env 文件中也需要 OPENAI_API_KEY 环境变量。

OPENAI_API_KEY=your-openai-api-key
SCRAPELESS_API_KEY=your-scrapeless-api-key

💡请记住将示例 API 密钥替换为你实际的 API 密钥。

安装 Browser Use

使用 pip (Python>=3.11):

pip install browser-use

对于内存功能(由于 PyTorch 兼容性,需要 Python<3.13):

pip install "browser-use[memory]"

设置浏览器和代理配置

以下是配置浏览器和创建自动化代理的方法:

from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from browser_use import Agent, Browser, ChatOpenAI
from pydantic import SecretStr
 
task = "Go to Google, search for 'Scrapeless', click on the first post and return to the title"
 
async def setup_browser() -> Browser:
    scrapeless_base_url = "wss://browser.scrapeless.com/api/v2/browser"
    query_params = {
        "token": os.environ.get("SCRAPELESS_API_KEY"),
        "sessionTTL": 900,
        "proxyCountry": "ANY"
    }
    browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
    browser = Browser(cdp_url=browser_ws_endpoint)
    return browser
 
async def setup_agent(browser: Browser) -> Agent:
    llm = ChatOpenAI(
        model="gpt-4o", # Or choose the model you want to use
        api_key=SecretStr(os.environ.get("OPENAI_API_KEY")),
    )
 
    return Agent(
        task=task,
        llm=llm,
        browser=browser,
    )

创建主函数

这是将所有内容整合在一起的主函数:

async def main():
    load_dotenv()
    browser = await setup_browser()
    await browser.start()
    agent = await setup_agent(browser)
    result = await agent.run()
    print(result)
    await browser.kill()
 
asyncio.run(main())

运行你的脚本

运行你的脚本:

python run main.py

你应该会看到你的 Scrapeless 会话在 Scrapeless 仪表板 中启动。

##完整代码

from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from browser_use import Agent, Browser, ChatOpenAI
from pydantic import SecretStr
 
task = "Go to Google, search for 'Scrapeless', click on the first post and return to the title"
 
async def setup_browser() -> Browser:
    scrapeless_base_url = "wss://browser.scrapeless.com/api/v2/browser"
    query_params = {
        "token": os.environ.get("SCRAPELESS_API_KEY"),
        "sessionTTL": 900,
        "proxyCountry": "ANY"
    }
    browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
    browser = Browser(cdp_url=browser_ws_endpoint)
    return browser
 
async def setup_agent(browser: Browser) -> Agent:
    llm = ChatOpenAI(
        model="gpt-4o", # Or choose the model you want to use
        api_key=SecretStr(os.environ.get("OPENAI_API_KEY")),
    )
 
    return Agent(
        task=task,
        llm=llm,
        browser=browser,
    )
 
async def main():
    load_dotenv()
    browser = await setup_browser()
    await browser.start()
    agent = await setup_agent(browser)
    result = await agent.run()
    print(result)
    await browser.kill()
 
asyncio.run(main())

💡Browser Use 目前仅支持 Python。

💡你可以在实时会话中复制 URL 以实时查看会话进度,也可以在会话历史记录中查看会话的回放。