python - click() 确实执行了一次点击,但以错误结束
问题描述
我在对话框上有一个按钮,单击它时会弹出一个确认弹出窗口。
每当我使用 pywinauto 单击该按钮时,UI 中确实会发生单击,但是 click() 函数不会在不抛出此错误的情况下返回:
COMError: (-2147220991, 'An event was unable to invoke any of the subscribers', (None, None, None, 0, None))
点击按钮的代码非常简单:
readerDlg = mainDlg.window(title=READER_WINDOW_TITLE)
readerDlg.Skip.click()
连接片段:
sw = Application(backend='uia').connect(title=APPLICATION_TITLE)
mainDlg = sw.window(title=MAIN_WINDOW_TITLE)
解决方案
将后端从切换uia
到win32
修复了我的问题:
sw = Application(backend='win32').connect(title=APPLICATION_TITLE)
它还使自动化速度更快(从 ~5 sec/op 到 < 1 sec/op.
推荐阅读
- php - 在购物车上显示总计减去运费
- amazon-web-services - 在让存储桶所有者保留对所有对象的所有权时启用 AWS 跨账户读取 + 写入的问题
- plotly-dash - dash_bootstrap_components Col 和 Row 未按预期显示 - 只是堆叠每个项目
- android - 如何避免为每个命令发送运行一个新的 adb?
- javascript - 每次调用函数时,我的状态数组都会清空
- linux - 嘿,有人可以帮我了解同步系统调用的用法吗?
- c++ - 函数返回的局部变量是否在 C++20 中自动移动?
- ftp - Azure 逻辑应用 - FTP 连接下载 zip 文件到 Blob 存储 - 输出 zip 文件损坏
- android - React Native:RNCallKeep.displayIncomingCall 不起作用
- python-3.x - 从 PIL 图像 python 中提取小区域