Release v8.0.67
改动说明
🐛 问题背景
- 导出完成后回到首页时,偶发 Windows UI Automation COM 错误(-2147220991 /「事件无法调用任何订户」),导致视频导出任务失败。该问题多出现在窗口切换、UI 元素失效的瞬时阶段,并非草稿内容异常。
✨ 核心修复
剪映自动化控制器(jianying_controller)
- 🛡️ 窗口匹配回调在读取控件 Name、ClassName 时捕获 COM 瞬时错误,跳过失效元素,避免中断整次窗口查找
- 🔁 新增带 COM 重试的 Exists 检测逻辑,与现有 _safe_click、_safe_exists 策略保持一致
- 🪟 get_window 全流程加固:查找主窗口、导出子窗口、清除置顶时均使用 COM 安全重试
视频任务管理(video_task_manager)
- 🔂 将 COM/UIA 瞬时错误纳入可重试错误类型
- 📦 导出阶段最多额外重试 2 次(共 3 次尝试),复用已下载草稿,无需重新下载
🧪 测试
- ✅ 新增 COM 错误识别与窗口匹配容错相关单元测试
- ✅ 更新导出重试逻辑测试,覆盖 COM 错误重试成功与耗尽场景
📌 使用说明
- 偶发导出失败时,日志中可能出现 UIA COM error on Exists, retrying 等重试提示,属正常自愈行为
- 若连续 3 次仍失败,请检查:剪映是否正常运行、是否有人为操作干扰、是否在 RDP 断开或会话锁定环境下运行
⚠️ 已知限制
以下情况仍可能导致导出失败,需从运行环境排查:
- 剪映未启动或进程异常退出
- 远程桌面断开、桌面会话被锁定
- 剪映版本升级导致 UI 结构变化
- 导出过程中人工操作剪映界面