用途
DrissionPage MCP Browser Automation 是 ara.so 制作、收录于 MCP Skills 集的技能,旨在为 Claude Code、Codex、Cursor 等 MCP 客户端带来专业浏览器自动化能力。它由 DrissionPage MCP Server 驱动,通过 Model Context Protocol 提供 52 个工具,实现确定性的网页自动化,并利用 DrissionPage 的高效引擎进行结构化、面向 LLM 优化的浏览器控制。
安装
从 PyPI 安装并验证:
# Install from PyPI
python -m pip install -U drissionpage-mcp
# Verify installation
drissionpage-mcp --version
drissionpage-mcp doctor
配置
支持多种 MCP 客户端接入。
Codex CLI/IDE(推荐):在 ~/.codex/config.toml 或项目的 .codex/config.toml 中添加:
[mcp_servers.drissionpage]
command = "drissionpage-mcp"
startup_timeout_sec = 20
tool_timeout_sec = 60
# Optional environment variables
[mcp_servers.drissionpage.env]
# CHROME_PATH = "/custom/path/to/chrome"
# DP_HEADLESS = "1"
# DP_MCP_SCREENSHOT_ROOT = "/path/to/screenshots"
# DP_MCP_UPLOAD_ROOT = "/path/to/uploads"
或通过 CLI:
codex mcp add drissionpage -- drissionpage-mcp
Claude Desktop / Cursor:添加到 MCP 设置 JSON(例如 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"drissionpage": {
"command": "drissionpage-mcp"
}
}
}
对于不继承 shell PATH 的 GUI 启动客户端:
{
"mcpServers": {
"drissionpage": {
"command": "/absolute/path/to/python",
"args": ["-m", "drissionpage_mcp.cli"]
}
}
}
环境变量包括:CHROME_PATH(自定义 Chrome/Chromium 可执行路径)、DP_HEADLESS(设为 "1" 启用无头模式)、DP_MCP_SCREENSHOT_ROOT(截图保存目录)、DP_MCP_UPLOAD_ROOT(文件上传目录,安全边界)、LOG_LEVEL(日志级别 DEBUG、INFO、WARNING、ERROR)。
主要能力
导航工具
page_navigate 可导航到 URL 并支持标签页控制(基本导航、新标签页打开、导航并获取页面摘要);page_go_back / page_go_forward 用于浏览器历史前进后退;page_refresh 重新加载当前页面。
元素发现与交互
element_find 查找单个元素(CSS 或 XPath),返回标签、文本、属性和推荐选择器;element_find_all 提取多个元素,返回带文本、href 和推荐选择器的限长列表;element_click 点击元素,支持滚动到视图;element_type 输入文本,支持清空后再输入;element_upload_file 上传文件(必须位于 DP_MCP_UPLOAD_ROOT 下);element_select 处理下拉框,可按可见文本或索引选择;element_check 切换复选框/单选框。
数据提取
element_get_text 提取文本内容;element_get_attribute 获取 HTML 属性;element_get_property 获取 DOM 属性;element_get_html 获取 HTML 内容,包括整个页面。
页面理解
page_snapshot 获取结构化页面概览,返回标题、链接、按钮、输入框、表单及推荐选择器;page_observe 获取页面指纹,返回 URL、标题、元素计数、可见文本样本、活动元素、控制台摘要;form_inspect 分析表单,返回 action、method、控件及标签、类型、必填项、选项。
截图与可视化
page_screenshot 捕获内联截图(整页 base64 或仅视口);page_screenshot_save 保存截图到磁盘(自动生成文件名或自定义文件名,保存在 DP_MCP_SCREENSHOT_ROOT 下)。
标签页管理
tab_list 列出打开的标签页,返回 MCP 标签页 ID、标题、URL;tab_switch 切换标签页;tab_close 关闭标签页。
Frame 与 Shadow DOM
frame_list 列出 iframe 而不改变 frame 上下文;frame_snapshot 检查 iframe 内容;frame_find 在 iframe 中查找元素;shadow_find 在 Shadow DOM 中查找;shadow_find_all 从 Shadow DOM 中提取多个元素。
等待操作
wait_for_element 等待元素出现;wait_for_url 等待 URL 变化;wait_until 等待条件(clickable、hidden、visible、stable、text_match、url_contains);wait_time 简单延时。
Cookies 与存储
browser_cookies_get 读取 Cookies(默认隐藏值);storage_get 读取 localStorage/sessionStorage;storage_set 设置存储值;storage_clear 清除存储。
JavaScript 执行
page_evaluate 运行 JavaScript 并获取结果。
页面动作
page_scroll 滚动页面;keyboard_press 发送键盘输入;page_click_xy 按坐标点击;page_resize 调整浏览器窗口大小。
调试与诊断
page_console_logs 读取浏览器控制台,可按级别过滤、分页;page_get_url 获取当前 URL;page_close 关闭浏览器。
使用方式
资料给出了多种常见模式,包括网页抓取模式(导航、获取页面结构、提取数据、逐项获取详情)、表单自动化模式(检查表单结构、填写必填字段、处理可选字段、提交、等待跳转)、多标签页模式(打开多个页面、列出标签页、逐个切换提取数据)、动态内容模式(等待元素加载、等待内容稳定、提取数据)、错误恢复模式(主备选择器、等待重试)、截图调试模式(操作前截图、执行动作、操作后截图、检查控制台错误)。
此外还提供 MCP 资源(如 drissionpage://session/summary、drissionpage://session/history、drissionpage://session/state、drissionpage://page/current、drissionpage://tools/catalog、drissionpage://guide/model-usage、dressionpage://policy/summary)和内置 MCP 提示词(drissionpage_mcp_usage_playbook、browser_navigate_and_summarize、browser_extract_structured_data、browser_fill_form_safely、browser_debug_page_issue)。
最佳实践建议:先使用 page_snapshot 了解页面结构;优先使用 CSS 选择器;使用 element_find_all 和 page_snapshot 返回的推荐选择器;对动态内容使用 wait_for_element 或 wait_until;用 form_inspect 检查表单要求;利用 page_observe 快速获取页面上下文;用 tab_list 和 tab_switch 明智切换标签页;用 page_console_logs 调试 JavaScript 错误;确保上传文件位于 DP_MCP_UPLOAD_ROOT 下;完成后用 page_close 释放浏览器实例。
适用场景
适用于网页抓取、表单填写与提交、多标签页数据采集、动态内容(SPA)抓取、需要截图记录与调试的网页操作,以及需要在 MCP 客户端内进行结构化浏览器控制的各类自动化任务。
限制
资料未提供关于支持浏览器版本范围、并发能力、性能指标、具体收费模式或价格的信息,这些暂未提供。文件上传须位于 DP_MCP_UPLOAD_ROOT 目录内,构成明确的安全边界。