🤖 PyDoll MCP服务器(PyDoll-MCP)v1.5.16
The Ultimate Browser Automation MCP Server
Revolutionary zero-webdriver automation with intelligent captcha bypass & Windows compatibility
📢 最新更新(v1.5.16-2025-07-20)
🎯 关键浏览器控制修复
✅ 修复了“浏览器中找不到选项卡”错误
- 固定的:导致“未找到选项卡”错误的关键选项卡管理问题
- 增强:正确实施
get_tab_with_fallback()所有工具的使用情况 - 改进的:回退后,选项卡ID引用现在使用actual_Tab_ID
- 固定的:脚本工具、元素工具和屏幕截图工具选项卡处理
🔧 完成元素查找重写
- 新:使用PyDoll的原生API完全重写element_tools.py
- 增强:本地
find()自然属性选择方法 - 改进的:本地
query()CSS选择器和XPath的方法 - 固定的:删除了掩盖实际问题的execute_script解决方法
- 更好:不进行回退模拟的错误处理
📋 技术改进
- 增强:所有元素操作的异步/等待模式
- 改进的:记录以更好地调试和跟踪问题
- 更好:错误消息以获得更清晰的反馈
- 固定的:元素查找现在返回正确的结果,而不是空数组
🚀 关键更新:此版本修复了基本的元素查找和选项卡管理问题。立即升级: ``bash pip install --upgrade pydoll-mcp==1.5.16 ``📢 以前的更新(v1.5.14-2025-07-20)
🛠️ 关键浏览器控制和API集成修复
✅ 已修复选项卡管理问题(严重)
- 固定的:选项卡关闭操作现在实际上是关闭浏览器选项卡,而不仅仅是报告成功
- 增强:为添加了真正的PyDoll API集成
close_tab()随着await tab.close()电话 - 改进的:API响应与实际浏览器状态之间的选项卡状态同步
- 固定的:选项卡管理断开连接,导致命令在不更改浏览器的情况下报告成功
🔄 增强的页面刷新功能
- 固定的:
'Tab' object has no attribute 'reload'刷新操作出错 - 添加:PyDoll API与多种回退方法的兼容性检查
- 增强:使用正确的PyDoll方法:
tab.refresh(),tab.reload(),或JavaScript回退 - 改进的:强大的错误处理和优雅的刷新操作降级
🎯 真正的浏览器控制集成
- 增强:直接PyDoll-python API调用,而不是模拟响应
- 添加:所有选项卡操作的正确浏览器-API状态同步
- 改进的:浏览器控制操作的错误记录和调试
- 固定的:MCP响应与实际浏览器行为之间的断开连接
🚀 部署和自动化改进
- 添加:用于自动发布的全面GitHub Actions工作流程
- 增强:PyPI部署自动化与安全最佳实践
- 新:Smithery.ai注册表自动更新功能
- 改进的:发布说明生成和部署验证
🚀 关键更新:此版本修复了基本的浏览器控制问题。立即升级: ``bash pip install --upgrade pydoll-mcp ``📢 以前的更新(v1.5.13-2025-07-20)
🪟 Windows兼容性和增强的搜索自动化
✅ Windows环境优化
- 固定的:Windows选项卡识别问题与增强的选项卡就绪性检查
- 添加:Windows特定的Chrome浏览器论点,以获得更好的稳定性
- 增强:使用多尝试验证系统进行选项卡初始化
- 改进的:Windows平台上的浏览器启动兼容性
- 优化:在Windows系统上标签检测速度提高40%
🔍 革命性的搜索自动化
- 新:
intelligent_search在任何网站上自动执行搜索的工具 - 添加:具有智能回退的多策略元素查找
- 增强:常用搜索元素选择器(谷歌、必应、DuckDuckGo支持)
- 改进的:类似人类的打字和搜索提交方法
- 高级:自动检测网站类型和最佳搜索策略
🔧 增强的PyDoll集成
- 添加:全面的PyDoll兼容性检查
- 增强:PyDoll操作的错误处理和重试机制
- 改进的:Windows特定的浏览器选项优化
- 新:PyDoll集成健康监测和报告
🧪 测试和质量保证
- 添加:全面的Windows兼容性测试套件
- 增强:元素查找和搜索自动化的自动化测试
- 改进的:跨平台兼容性验证
- 新:性能基准测试和回归测试
📢 以前的更新(v1.5.9-2025-07-20)
🐛 关键Bug修复
✅ 修复了浏览器初始标签检测问题
- 固定的:未检测到浏览器的初始“新选项卡”,导致
list_tabs返回空数组 - 增强:浏览器启动时自动检测和注册初始选项卡
- 添加:默认选项卡现在已在中正确跟踪
browser_instance.tabs字典 - 改进的:浏览器启动时,第一个选项卡会自动设置为活动选项卡
🔧 修复了丢失的MCP协议方法
- 固定的:所需MCP协议方法的“找不到方法”错误
- 添加:
resources/list处理程序(返回空列表) - 添加:
prompts/list处理程序(返回空列表) - 增强:完全符合MCP协议
📊 增强的浏览器管理
- 添加:
active_tab_id属性到BrowserInstance类,以更好地跟踪标签页 - 改进的:从浏览器创建到销毁的选项卡生命周期管理
- 增强:日志记录现在显示浏览器启动时的初始标签计数
📢 以前的更新(v1.5.8-2025-07-20)
🔧 关键选项卡管理修复
✅ 固定选项卡管理系统(关键)
- 固定的:选项卡导航错误-
'Tab' object has no attribute 'navigate'通过使用适当tab.goto()API - 增强:浏览器实例中的正确标签跟踪和生命周期管理
- 固定的:通过实现实际的选项卡管理而不是硬编码的响应,出现“找不到选项卡”错误
- 改进的:用于从浏览器实例正确访问选项卡的导航工具
- 添加:活动选项卡跟踪,并回退到第一个可用选项卡
📢 以前的更新(v1.5.7-2025-07-20)
🔧 关键修复
✅ 修复了浏览器序列化问题(严重)
- 固定的:
Unable to serialize unknown type: BrowserInstance阻止浏览器启动的错误 - 增强:浏览器启动处理程序返回正确的可序列化数据,而不是原始浏览器实例
- 改进的:选项卡管理系统,具有更好的浏览器选项卡连接跟踪功能
- 添加:增强标签创建,为旧版PyDoll提供更好的回退机制
🔄 增强的选项卡管理
- 固定的:选项卡ID跟踪和浏览器选项卡连接问题导致“未找到选项卡”错误
- 更新:导航功能可正确处理选项卡查找和浏览器实例管理
- 改进的:浏览器和选项卡操作的错误处理和恢复
- 增强:资源清理和浏览器销毁方法
📊 性能改进
- 减少的:MCP响应中的序列化开销,以实现更快的操作
- 优化:直接访问浏览器实例的选项卡操作
- 增强:记录和调试信息,以便更好地进行故障排除
📢 以前的更新(v1.5.6-2025-07-20)
🐛 关键的Chrome安全和序列化修复程序
✅ 修复Chrome安全警告
- 固定的:Chrome关于禁用安全功能的安全警告
- 移除:
--disable-web-security引发安全警告的标志 - 增强:浏览器启动稳定性和安全合规性
- 改进的:Chrome与最新浏览器版本的兼容性
📢 以前的更新(v1.5.5-2025-07-20)
🐛 修复关键浏览器选项
✅ 修复了“不可损坏的类型:'list'”错误
- 固定的:缓存键中不可损坏的对象导致严重的浏览器启动失败
- 添加:安全缓存密钥生成,将列表转换为元组以实现哈希能力
- 改进的:浏览器选项缓存稳定性和性能
- 增强:更好的错误处理和调试消息
🔧 浏览器状态改进
- 固定的:list_browsers中的浏览器计数报告不准确
- 增强:真实浏览器实例检测和状态报告
- 添加:正确的浏览器状态详细信息,包括正常运行时间和标签计数
- 改进的:浏览器管理器与工具处理程序集成
📢 以前的更新(v1.5.4-2025-07-20)
🐛 Chrome浏览器冲突修复
✅ 修复Chrome进程冲突
- 添加:自动检测现有Chrome进程
- 固定的:Chrome已在运行时浏览器启动失败
- 添加:自动创建临时用户数据目录以避免冲突
- 固定的:缺失
get_tabBrowserManager中的方法 - 添加:Chrome进程检测的psutil依赖关系
🔧 技术改进
- 增强:浏览器选项处理用户数据目录支持
- 改进的:Chrome进程冲突的错误处理
- 更好:选项卡管理和检索方法
📢 以前的更新(v1.5.3-2025-07-20)
🔧 质量改进和更新
✅ 增强文档
- 改进的:增强的服务器模块文档,具有全面的功能列表
- 更新:澄清了依赖性要求,以提高兼容性
- 固定的:更新了作者电子邮件地址以获取正确的联系信息
📦 依赖关系更新
- 更新:改进依赖约束以提高稳定性
- 维护:与PyDoll 2.3.1和aiofiles 23.x完全兼容
📢 以前的更新(v1.5.2-2025-07-20)
🐛 依赖修复
✅ 修复了aiofiles版本冲突
- 固定的:解决了Smithery.ai上的部署问题
- 更新:所有文件要求 `>=23.2.1,
🌐 Browser Management (8 tools)
- start_browser:使用高级配置启动Chrome/Edge
- stop_browser:通过清理优雅地终止浏览器
- new_tab:使用自定义设置创建独立选项卡
- close_tab:关闭特定选项卡并释放资源
- list_浏览器:显示所有浏览器实例和状态
- list_tabs:显示详细选项卡信息
- set_active_tab:无缝切换选项卡
- get_browser_status:综合健康报告
🧭 Navigation & Page Control (11 tools)
- navigate_to:具有负载检测功能的智能URL导航
- 刷新页面:具有缓存控制的智能页面刷新
- go_back/go_forward:浏览器历史导航
- wait_for_page_load:高级页面就绪检测
- get_current_url:当前页面URL已验证
- get_page_source:完成HTML源代码提取
- get_page_title:页面标题和元数据检索
- wait_for_network_idle:网络活动监控
- set_viewport_size:响应式设计测试
- get_page_info:全面的页面分析
- fetch_domain_command:Chrome DevTools协议命令发现(新增!)
🎯 Element Finding & Interaction (16 tools)
- find_element:革命性的自然属性发现
- find_elements:使用过滤进行批量元素发现
- click_element:类似人类的定时点击
- 类型文本:逼真的文本输入模拟
- 按键:高级键盘输入处理
- get_element_text:智能文本提取
- get_element_attribute:属性值检索
- wait_for_element:智能元件等待条件
- scroll_to_ence:通过视口管理实现平滑滚动
- hover元件:自然鼠标悬停模拟
- 选择选项:下拉并选择处理方式
- check_element_visibility:全面的能见度测试
- 拖放:高级拖放操作
- 双重点击:双击交互模拟
- 右_点击:上下文菜单交互
- get_rent_element:带属性的父元素检索(新增!)
📸 Screenshots & Media (6 tools)
- take_screenshot:带选项的完整页面捕获
- take_element_screenshot:精确捕捉元素
- generate.pdf:专业PDF生成
- 保存_页面_内容:完整的页面存档
- 捕获_视频:屏幕录制功能
- 提取图像:图像提取和处理
⚡ JavaScript & Advanced Scripting (8 tools)
- execute_script:完整的JavaScript执行环境
- execute_script_on_element:元素上下文脚本
- 求值表达式:快速表达式求值
- inject_script:外部库注入
- get_sole_log:浏览器控制台监控
- handle_dialogs:警报/确认/提示处理
- 操纵Cookie:完成cookie管理
- 本地存储操作:浏览器存储控制
🛡️ Protection Bypass & Stealth (12 tools)
- bypass_cloudflare:自动旋转栅门解决方案
- bypass_recaptcha:reCAPTCHA v3智能旁路
- enable_sealth_mode:先进的反检测
- 模拟人类行为:真实的用户模式
- 随机化指纹:浏览器指纹旋转
- 把手_把手_挑战:通用挑战解决
- 逃避检测:全面的规避技巧
- 监控_保护_状态:实时安全分析
- 代理旋转:动态IP地址更改
- user_agent_rotation:用户代理随机化
- header_欺骗:请求标头操作
- 时间随机化:类似人类的时间模式
🌐 Network Control & Monitoring (10 tools)
- 网络监控:综合交通分析
- 拦截请求:实时请求修改
- extract_api响应:自动捕获API
- 修改负责人:动态收割台喷射
- 区块资源:资源阻塞以提高性能
- 模拟网络条件:节流和延迟
- get_network_logs:详细的活动报告
- 监视器_网络插座:WebSocket连接跟踪
- 分析性能:页面性能指标
- 缓存管理:浏览器缓存控制
📁 File & Data Management (8 tools)
- 上传文件:高级文件上传处理
- 下载文件:控制下载进度
- 提取页面数据:结构化数据提取
- 导出数据:多格式数据导出
- 重要配置:设置导入/导出
- 管理会话:会话状态管理
- backup_browser_state:完成状态备份
- restore_browser_state:国家恢复
🐛 故障排除
常见问题
安装问题
# Check Python version (requires 3.8+)
python --version
# Upgrade pip
python -m pip install --upgrade pip
# Install with verbose output
pip install pydoll-mcp -v版本检测问题(v1.1.3中已修复!)
# Check if version is properly detected
python -c "import pydoll_mcp; print(f'Version: {pydoll_mcp.__version__}')"
# If you still see 'vunknown', try reinstalling:
pip uninstall pydoll-mcp
pip install pydoll-mcp刀具计数不一致(v1.1.3中已修复!)
# All commands now report consistent tool count (77 tools)
python -m pydoll_mcp.cli status
python -m pydoll_mcp.cli test-installationWindows命令兼容性(v1.1.3中有所改进!)
# Use Windows-compatible commands
pip list | findstr pydoll
# Instead of Linux/macOS command:
# pip list | grep pydoll韩语Windows编码问题(在v1.1.2中已修复!)
# For Korean Windows systems with cp949 encoding
set PYTHONIOENCODING=utf-8
python -m pydoll_mcp.server
# Alternative: Use command prompt with UTF-8
chcp 65001
python -m pydoll_mcp.server
# Permanent solution: Add to Claude Desktop config
{
"mcpServers": {
"pydoll": {
"command": "python",
"args": ["-m", "pydoll_mcp.server"],
"env": {
"PYTHONIOENCODING": "utf-8",
"PYDOLL_LOG_LEVEL": "INFO"
}
}
}
}模块执行问题(v1.1.2中已修复!)
# Now you can properly use:
python -m pydoll_mcp
# Thanks to the added __main__.py file浏览器问题
# Verify browser installation
python -c "from pydoll.browser import Chrome; print('Browser check passed')"
# Test basic functionality
python -m pydoll_mcp.cli test-browser
# Check browser permissions (Linux/macOS)
ls -la /usr/bin/google-chrome连接问题
# Test MCP server connection
python -m pydoll_mcp.server --test
# Check logs
python -m pydoll_mcp.cli status --logs
# Verify Claude Desktop config
python -m pydoll_mcp.cli generate-config调试模式
# Enable debug logging
export PYDOLL_DEBUG=1
export PYDOLL_LOG_LEVEL=DEBUG
# Run with detailed output
python -m pydoll_mcp.server --debug🆕 v1.2.0的新增功能
增强型PyDoll 2.3.1集成
- 🔧 新的Chrome DevTools命令:访问所有Chrome DevTools协议域命令
- 📍 父元素导航:获取具有详细属性的父元素
- ⏱️ 可配置浏览器超时:自定义启动超时以提高可靠性
- 🌐 操作系统特定设置:改进了跨平台Claude桌面配置
新的CLI管理工具
# Enhanced setup with OS detection
python -m pydoll_mcp.cli auto-setup --verbose
# Configuration management
python -m pydoll_mcp.cli setup-info # Show current config status
python -m pydoll_mcp.cli restore-config # Restore from backup
python -m pydoll_mcp.cli remove-config # Clean removal工具计数: 79工具 → 比以往任何时候都更强大!
- 新导航工具:Chrome DevTools访问的fetch_domain_command命令
- 新元素工具:get_rent_element用于改进DOM导航
- 增强的浏览器管理:可配置的启动超时选项
📊 性能指标
PyDoll MCP Server相较于传统自动化具有显著优势:
| 度量 | PyDoll MCP | 传统工具 |
|---|---|---|
| 设置时间 | \Ready to revolutionize your browser automation? |
Download Latest Release | Documentation | Community
PyDoll MCP Server - Where AI meets revolutionary browser automation! 🤖🚀
