优化 Pywinauto

Optimising Pywinauto

我有一个使用 PyWinAuto 执行一些 UI 自动化的脚本,它可以工作,但操作如切换复选框、定位文本框和我的一个函数使用 print_control_identifiers很慢(或比人类做同样的事情慢)。

据我了解其工作原理,这是由于通过 windows 控件进行递归搜索所致。我试图限制调用 print_control_identifiers 时必须达到的深度,我认为我的主要问题是在对项目执行操作时发生的 "best match" 查找。我目前正在尝试使用建议的 ID 来加快速度。

关于加快执行速度的任何提示?

child_window(..., control_type="...") 执行搜索更快,因为 control_type 的初步过滤不需要进程间通信,class_name.

best_match 算法总体上可以改进(我怀疑它有 N^3 复杂度)。这项工作尚未开始,我很乐意讨论任何帮助。