(AI搜的)以下是Browser-use的优缺点:
### 优点
- **跨浏览器支持**:Browser-use支持多个常见的浏览器(如Chrome、Firefox等),可以在不同的浏览器环境中执行自动化任务,保证一致性。
- **简洁的API**:提供了一个高层次的API,用户可以使用更简单的命令进行浏览器操作,而不需要深入理解底层实现。
- **任务自动化**:用户可以轻松地编写脚本,实现自动化任务,例如自动化填充表单、点击按钮、导航到特定页面等,极大提高了工作效率。
- **集成与扩展**:Browser-use可与其他工具(如pytest等测试框架)结合使用,帮助用户实现端到端的自动化测试。
- **支持浏览器插件**:可以通过设置插件与浏览器交互,扩展功能,支持像广告屏蔽、性能分析等插件的操作。
- **浏览器控制与验证**:除了基础的自动化操作,Browser-use还提供了验证功能,允许开发者检查网页元素的状态、获取信息并进行验证。
- **智能纠错**:拥有自我修正能力,在操作失败时能自动调整策略并重试。
- **多语言模型支持**:可轻松集成LangChain提供的各类LLM(如OpenAI、Anthropic、Cohere等)进行高级任务管理。
- **基于Playwright**:默认使用Playwright进行浏览器的无头启动、页面操作和渲染控制;对常见网页交互场景提供友好的抽象。
- **云端版&本地版**:除了本地安装运行外,Browser-use也提供托管版本,可以直接在云端执行,无需配置本地环境。
- **Gradio UI测试**:内置示例可以利用Gradio搭建简易的可视化界面,方便开发者快速测试并可视化浏览器自动化流程。
- **视觉+HTML提取**:能够自动解析网页内容,提取出文本、图片等视觉元素以及HTML结构,为AI代理提供丰富的输入信息。
- **自动多标签页管理**:在处理复杂的网页任务时,能够自动管理多个标签页,确保AI代理能够高效地在不同页面之间切换。
- **添加自定义动作**:支持开发者注册自定义动作,如保存文件、推送数据库、发送通知、获取用户输入等,极大地扩展了AI代理的功能范围。
- **并行化多个代理**:为了提高自动化任务的效率,允许开发者并行化多个AI代理。这些代理可以共享同一个浏览器实例,但每个代理都有自己独立的上下文环境,确保任务之间的独立性。
### 缺点
- **对网络环境要求较高**:Browser-use在执行自动化任务时,需要与浏览器进行通信,如果网络不稳定,可能会导致任务执行失败或出现延迟。
- **学习成本**:对于非技术用户或对自动化工具不熟悉的用户,Browser-use的使用需要一定的学习成本,包括对Python编程语言的了解、对自动化测试框架的熟悉等。
- **资源消耗**:在执行复杂任务或同时运行多个代理时,可能会占用较多的系统资源,如内存、CPU等,这可能会影响其他程序的运行。
- **依赖第三方服务**:Browser-use依赖于一些第三方服务和工具,如Playwright、LangChain等,如果这些服务出现问题或更新不及时,可能会影响Browser-use的正常使用。
安装及介绍
https://docs.browser-use.com/introduction
运行通过的脚本如下:(根据实际需要修改部分参数)
from langchain_openai import ChatOpenAI
from browser_use import Agent, BrowserConfig, Browser
import asyncio
from pydantic import SecretStr
import os
# 获取父目录
parent_directory = os.path.dirname(__file__)
# 拼接新路径
save_path = os.path.join(parent_directory, 'conversation_history')
# load_dotenv()
ds_key = 'sk-e6'
def convert_seconds(seconds):
hours = seconds // 3600
minutes = (seconds % 3600) // 60
remaining_seconds = seconds % 60
return hours, minutes, remaining_seconds
async def main():
# Basic configuration
config = BrowserConfig(
headless=False,
disable_security=True
)
# 使用已有的浏览器,默认debug端口9222
browser = Browser(
# config=config
config=BrowserConfig(
# Specify the path to your Chrome executable
chrome_instance_path='C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe', # 注意参数名,官网上面的示例是错的
# For Windows, typically: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe'
# For Linux, typically: '/usr/bin/google-chrome'
)
)
# 初始化 Agent,指定使用 DeepSeek 作为推理模型
llm = ChatOpenAI(
base_url='https://api.deepseek.com/v1',
model='deepseek-reasoner',
api_key=SecretStr(ds_key),
)
agent = Agent(
task=task,
llm=llm,
use_vision=False,
save_conversation_path=save_path, # Save chat logs
# browser=browser, # Browser instance will be reused
max_failures=2,
max_actions_per_step=1,
)
result = await agent.run()
print("\n======== 测试结果 ========")
print(result)
if __name__ == "__main__":
import time
task = """
1. 访问链接https://ifs
2. 输入用户名“lum”
3. 输入密码“iFS”
4. 点击登录
"""
start_time = time.time()
asyncio.run(main())
end_time = time.time()
elapsed_time = int(end_time - start_time)
hours, minutes, remaining_seconds = convert_seconds(elapsed_time)
print(f"总耗时 {hours} 小时 {minutes} 分钟 {remaining_seconds} 秒")