DrissionPage MCP 浏览器自动化服务
基于 DrissionPage 的 MCP (Model Context Protocol) 服务器,为 AI 模型提供强大的浏览器自动化和数据抓取功能。
特性
🌐 浏览器自动化:完整的浏览器控制能力(导航、点击、输入等)
📄 网页转 Markdown:智能将网页内容转换为 Markdown 格式
📊 数据抓取:结构化提取网页数据(表格、列表等)
🔧 混合粒度:提供基础操作和高级封装两种工具集
🎯 单例模式:高效管理单个浏览器实例
👀 可视化调试:默认有头模式,方便观察操作过程
安装
克隆或下载本项目
安装依赖:
快速开始
方式 1:直接运行测试
方式 2:启动 MCP 服务器
服务器将通过标准输入/输出与 MCP 客户端通信。
方式 3:配置 MCP 客户端
如果您使用支持 MCP 的 AI 工具(如 Claude Desktop、Cursor 等),可以在配置文件中添加:
Claude Desktop 配置示例 (~/Library/Application Support/Claude/claude_desktop_config.json):
配置后重启客户端,AI 模型即可调用浏览器自动化功能。
使用示例
示例 1:访问网页并保存为 Markdown
示例 2:自动填写表单
示例 3:数据抓取
工具列表
浏览器管理
init_browser: 初始化浏览器实例get_browser_status: 获取浏览器状态close_browser: 关闭浏览器
基础操作
navigate: 导航到 URLfind_elements: 查找页面元素click_element: 点击元素input_text: 输入文本get_element_text: 获取元素文本get_element_attribute: 获取元素属性wait_for_element: 等待元素出现scroll_page: 滚动页面take_screenshot: 截图execute_javascript: 执行 JS 代码
高级功能
page_to_markdown: 网页转 Markdown(核心功能)extract_table_data: 提取表格数据smart_extract: 智能数据抓取fill_form: 自动填写表单handle_infinite_scroll: 处理无限滚动manage_cookies: Cookie 管理switch_to_tab: Tab 页切换
技术架构
依赖项
DrissionPage: 浏览器自动化核心库
mcp: Model Context Protocol 实现
markdownify / html2text: HTML 转 Markdown
beautifulsoup4: HTML 解析
lxml: 高性能 XML/HTML 解析
开发指南
添加新工具
在相应的工具文件(
basic.py、advanced.py等)中定义函数在
tools/__init__.py中导出在
server.py中注册到 MCP 服务器
错误处理
所有工具函数都应返回统一的格式:
使用注意
浏览器单例:同一时间只能有一个浏览器实例,适合顺序执行任务
资源释放:使用完毕后请调用
close_browser()释放资源超时控制:所有操作都有超时参数,避免无限等待
调试模式:默认有头模式便于调试,生产环境可配置为无头模式
网络延迟:根据网络情况调整
timeout参数选择器优化:优先使用 CSS 选择器,性能更好
常见问题
Q: 如何切换为无头模式?
A: 调用 init_browser(headless=true) 即可。
Q: 支持哪些浏览器?
A: 支持 Chromium 内核浏览器(Chrome、Edge 等)。
Q: 如何处理需要登录的网站?
A: 使用 fill_form 工具自动填写表单,或使用 manage_cookies 设置已保存的 Cookie。
Q: 可以同时打开多个标签页吗?
A: 可以,使用 switch_to_tab(action="new") 创建新标签页。
Q: Markdown 转换质量如何提升?
A: 启用 extract_main=true 和 remove_ads=true 选项,只保留主要内容。
高级用法
自定义浏览器配置
批量数据抓取
复杂表单自动化
性能优化建议
减少等待时间:合理设置
timeout和wait_after参数批量操作:使用
smart_extract一次性提取多个元素缓存页面:避免重复访问同一页面
并发处理:对于独立任务,可启动多个 MCP 服务器实例
文档资源
详细使用指南:查看
USAGE_GUIDE.md测试示例:查看
test_example.pyDrissionPage 文档:https://DrissionPage.cn
MCP 协议规范:https://modelcontextprotocol.io/
许可证
本项目遵循 MIT 许可证。
致谢
DrissionPage - 强大的 Python 网页自动化工具
Model Context Protocol - AI 模型工具调用标准