在微信PC客户端中模拟真实用户行为,完成公众号搜索、文章阅读等操作。微信4.x基于Qt+Chromium自绘UI,控件树完全隐藏,传统UI自动化方案(uiautomation/pywinauto/wxauto)全部失效。
重点技术:
- 零控件树方案:放弃传统UI自动化路线,采用截图+图像识别+模拟点击的纯视觉方案,完全不依赖控件树
- DPI感知攻坚:发现并解决Windows高DPI缩放(150%)下PIL截图返回纯色、所有鼠标/键盘操作失效的根因——SetProcessDpiAwareness(2)必须在所有import之前调用,影响截图和输入两大核心能力
- 多OCR引擎协同:EasyOCR用于搜索框等简单场景,PaddleOCR用于文章列表识别(宽度聚类+metadata剥离+标题尾部正则清理),OCR容错处理(qq.com→gg.com识别纠偏)
- 多窗口归属检测:双微信窗口场景下,Chrome子进程PID与微信主窗口不同,设计四方法归属检测——PID匹配、位置匹配(重叠面积>30%)、水平中心对齐、进程链追踪(CreateToolhelp32Snapshot递归追溯进程树)
成果:支持自动浏览文章等交互、多公众号循环、多微信窗口、交互行为三级配置(命令行>OA_LIST配置>默认值),广告识别遍历深度35+,v4.4稳定运行。