我正在尝试编写一个自动安装二进制文件的工具。基本上,我使用comtypes和MSAA接口与安装窗口进行交互并驱动安装过程。当弹出一个窗口时,我递归地枚举该窗口中的所有元素,选择最合适的元素(通常是一个按钮)进行交互,依此类推。该工具有时工作正常。但有时,枚举元素可能需要很长时间(对于不太复杂的窗口,最长可达1.5分钟)。这个问题似乎与时间有关。它总是不开心。我已经坚持这个问题一个星期了。有人可以帮忙吗?请!
我能想到的一种可能性是:当我枚举一个窗口时,这个窗口被目标应用程序破坏,然后COM被忽略并且无法进行进一步的导航。这可能是一个潜在的原因吗?我无法说服自己,因为窗口最终被枚举。如果在枚举期间窗口消失,则窗口元素树的遍历应该失败,不是吗?
答案 0 :(得分:0)
尝试分析脚本直到问题发生,然后查看分析信息以找出花费额外时间的位置。