Blue Prism中Win32 mapper无法唯一识别Edge窗口问题咨询
Blue Prism Win32 Mapper无法唯一识别Microsoft Edge窗口的排查思路与解决方案
排查思路
- 核查Edge运行模式:默认开启的多进程模式会让每个标签页、弹出框都被识别为独立Win32窗口,易出现窗口属性重复的情况,是该问题的高发诱因
- 检查窗口匹配规则:确认Blue Prism中当前配置的Edge窗口识别属性,是否仅使用了
窗口标题、进程名这类通用属性,未加入唯一标识维度 - 确认版本兼容性:Blue Prism v6.10以下版本对Chromium内核Edge的原生适配存在缺陷,易出现Win32识别异常
解决方案
- 调整Edge启动参数
启动Edge时追加--single-process参数,强制所有标签页运行在同一进程下,Win32 mapper即可识别到唯一的顶层Edge窗口。该方案会降低Edge运行稳定性,仅建议在自动化专属运行环境中使用 - 优化属性匹配规则
在Win32 mapper的识别配置中,新增窗口类名(Edge默认类名为Chrome_WidgetWin_1)、进程ID、主窗口句柄三类属性组合匹配,可实现唯一识别。需注意Edge重启后进程ID会变动,流程启动阶段要先动态获取当前运行的Edge进程ID,赋值到匹配规则中即可 - 切换为UIA识别模式
放弃Win32 mapper,改用Blue Prism内置的UIA模式识别Edge窗口,UIA对Chromium内核应用的适配性更强,可直接定位顶层窗口及内部元素,识别准确率更高 - 升级Blue Prism版本
升级到v6.10及以上版本,该版本开始官方新增了Chromium内核Edge的原生适配支持,内置应用模型可直接唯一识别Edge窗口,无需额外配置
内容的提问来源于stack exchange,提问作者John Daly
相关产品推荐
相关产品推荐

