click() 确实执行了一次点击,但以错误结束

click() does perform a click but ends with an error

我在对话框上有一个按钮,单击它时会弹出一个确认弹出窗口 window。

每当我使用 pywinauto 单击该按钮时,单击确实发生在 UI 中,但是 click() 函数不会 return 不抛出此错误:

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。