Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DrissionPage MCP Browser Automationgo to Hacker News and save the front page as markdown"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 模型工具调用标准