Python浏览器控
启用使用 Python 脚本进行浏览器自动化,提供诸如截取网页截图、检索 HTML 内容和执行 JavaScript 等操作。
服务介绍
Browser Use Server
一个用于通过 Python 脚本进行浏览器自动化的 Model Context Protocol 服务器。与 Cline 一起使用。
功能
浏览器操作
screenshot: 捕获网页的屏幕截图(全页或视口)get_html: 获取网页的 HTML 内容execute_js: 在网页上执行 JavaScriptget_console_logs: 获取网页的控制台日志
所有操作都支持在页面加载后自定义交互步骤(例如,点击元素、滚动)。
先决条件
- (可选但推荐)安装 Xvfb 以实现无头浏览器自动化:
# Ubuntu/Debian
sudo apt-get install xvfb
# CentOS/RHEL
sudo yum install xorg-x11-server-Xvfb
# Arch Linux
sudo pacman -S xorg-server-xvfb
Xvfb(X Virtual Frame Buffer)创建了一个虚拟显示器,允许浏览器自动化而不被检测为机器人。了解更多关于 Xvfb 的信息 这里。
- 安装 Miniconda 或 Anaconda
- 创建一个 Conda 环境:
conda create -n browser-use python=3.11
conda activate browser-use
pip install browser-use
- 设置 LLM 配置:
该服务器支持多个 LLM 提供商。您可以使用以下任何 API 密钥:
# Required: Set at least one of these API keys
export GLHF_API_KEY=your_api_key
export GROQ_API_KEY=your_api_key
export OPENAI_API_KEY=your_api_key
export OPENROUTER_API_KEY=your_api_key
export GITHUB_API_KEY=your_api_key
export DEEPSEEK_API_KEY=your_api_key
export GEMINI_API_KEY=your_api_key
export OLLAMA_API_KEY=your_api_key
# Optional: Override default configuration
export MODEL=your_preferred_model # Override the default model
export BASE_URL=your_custom_url # Override the default API endpoint
export USE_VISION=false # Enable/disable vision capabilities (default: false)
服务器将自动使用它找到的第一个可用 API 密钥。您可以选择使用环境变量来自定义任何提供商的模型和基础 URL。
安装
通过 Smithery 安装
要通过 Smithery 自动安装适用于 Claude Desktop 的 Browser Use Server:
npx -y @smithery/cli install @ztobs/cline-browser-use-mcp --client claude
- 克隆此仓库
- 安装依赖项:
npm install
- 构建服务器:
npm run build
MCP 配置
将以下配置添加到您的 Cline MCP 设置中:
"browser-use": {
"command": "node",
"args": [
"/home/YOUR_HOME/Documents/Cline/MCP/browser-use-server/build/index.js"
],
"env": {
// Required: Set at least one API key
"GLHF_API_KEY": "your_api_key",
"GROQ_API_KEY": "your_api_key",
"OPENAI_API_KEY": "your_api_key",
"OPENROUTER_API_KEY": "your_api_key",
"GITHUB_API_KEY": "your_api_key",
"DEEPSEEK_API_KEY": "your_api_key",
"GEMINI_API_KEY": "your_api_key",
"OLLAMA_API_KEY": "your_api_key",
// Optional: Configuration overrides
"MODEL": "your_preferred_model",
"BASE_URL": "your_custom_url",
"USE_VISION": "false"
},
"disabled": false,
"autoApprove": []
}
替换:
YOUR_HOME为您的实际主目录名称your_api_key为您的实际 API 密钥
使用方法
运行服务器:
node build/index.js
服务器将在 stdio 上可用,并支持以下操作:
屏幕截图
参数:
- url: 网页 URL(必需)
- full_page: 是否捕获全页还是仅捕获视口(可选,默认:false)
- steps: 用逗号分隔的操作或句子,描述页面加载后的步骤(可选)
获取 HTML
参数:
- url: 网页 URL(必需)
- steps: 用逗号分隔的操作或句子,描述页面加载后的步骤(可选)
执行 JavaScript
参数:
- url: 网页 URL(必需)
- script: 要执行的 JavaScript 代码(必需)
- steps: 用逗号分隔的操作或句子,描述页面加载后的步骤(可选)
获取控制台日志
参数:
- url: 网页 URL(必需)
- steps: 用逗号分隔的操作或句子,描述页面加载后的步骤(可选)
示例 Cline 用法
以下是一些您可以使用 browser-use 服务器和 Cline 实现的示例任务:
开发过程中修改网页元素
要更改需要身份验证的页面上的标题颜色:
Change the colour of the headline with the text "Alle Foren im Überblick." to deep blue on https://localhost:3000/foren/ page
To check/see the page, use browser-use MCP server to:
Open https://localhost:3000/auth,
Login with ztobs:Password123,
Navigate to https://localhost:3000/foren/,
Accept cookies if required
hint: execute all browser actions in one command with multiple comma-separated steps
此任务演示了:
- 使用逗号分隔步骤的多步浏览器自动化
- 身份验证处理
- Cookie 接受
- DOM 操作
- CSS 样式更改
服务器将按顺序执行这些步骤,并在过程中处理任何必要的交互。
配置
LLM 配置
服务器支持多个具有默认配置的 LLM 提供商:
- GLHF: 使用 deepseek-ai/DeepSeek-V3 模型
- Ollama: 使用 qwen2.5:32b-instruct-q4_K_M 模型,上下文窗口为 32k
- Groq: 使用 deepseek-r1-distill-llama-70b 模型
- OpenAI: 使用 gpt-4o-mini 模型
- Openrouter: 使用 deepseek/deepseek-chat 模型
- Github: 使用 gpt-4o-mini 模型
- DeepSeek: 使用 deepseek-chat 模型
- Gemini: 使用 gemini-2.0-flash-exp 模型
您可以使用环境变量覆盖这些默认设置:
MODEL: 为任何提供商设置自定义模型名称BASE_URL: 设置自定义 API 端点 URL(如果提供商支持)
视觉支持
服务器通过 USE_VISION 环境变量支持视觉功能:
- 设置 USE_VISION=true 以启用浏览器操作的视觉能力
- 默认值为 false,以便在不需要视觉时优化性能
- 对于需要对网页内容进行视觉理解的任务非常有用
Xvfb 支持
服务器会自动检测是否安装了 Xvfb 并:
- 在可用时使用 xvfb-run,从而在不被机器人检测的情况下实现更好的浏览器自动化
- 如果未安装 Xvfb,则回退到直接执行
- 相应地设置 RUNNING_UNDER_XVFB 环境变量
超时
默认超时时间为 5 分钟(300000 毫秒)。可以通过修改 build/index.js 中的 TIMEOUT 常量来更改此设置。
错误处理
服务器提供了详细的错误消息,包括:
- Python 脚本执行失败
- 浏览器操作超时
- 参数无效
调试
使用 MCP Inspector 进行调试:
npm run inspector
引用
@software{browser_use2024,
author = {Müller, Magnus and Žunič, Gregor},
title = {Browser Use: Enable AI to control your browser},
year = {2024},
publisher = {GitHub},
url = {https://github.com/browser-use/browser-use}
}
许可证
MIT