Browser Use
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 langchain_openai import ChatOpenAI
from browser_use import Agent, Browser, BrowserConfig
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/browser"
query_params = {
"token": os.environ.get("SCRAPELESS_API_KEY"),
"session_ttl": 180,
"proxy_country": "ANY"
}
browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
config = BrowserConfig(cdp_url=browser_ws_endpoint)
browser = Browser(config)
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()
agent = await setup_agent(browser)
result = await agent.run()
print(result)
await browser.close()
asyncio.run(main())
运行你的脚本
运行你的脚本:
python run main.py
你应该会看到你的Scrapeless会话在Scrapeless Dashboard中启动。
##完整代码
from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from langchain_openai import ChatOpenAI
from browser_use import Agent, Browser, BrowserConfig
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/browser"
query_params = {
"token": os.environ.get("SCRAPELESS_API_KEY"),
"session_ttl": 180,
"proxy_country": "ANY"
}
browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
config = BrowserConfig(cdp_url=browser_ws_endpoint)
browser = Browser(config)
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()
agent = await setup_agent(browser)
result = await agent.run()
print(result)
await browser.close()
asyncio.run(main())
💡Browser Use目前仅支持Python。
💡你可以在实时会话中复制URL以实时查看会话进度,也可以在会话历史记录中查看会话的回放。