Pywinauto - “事件无法调用任何订阅者”

问题描述 投票:0回答:1

我正在尝试在 erp 应用程序上自动执行一组命令,但遇到了一个我不知道如何管理的错误。使用 pywinauto 命令单击特定按钮后:

app.window(title='Epicor').child_window(auto_id='shortcutBar').child_window(title="Label Maintenance").click()

抛出这样的错误:

 _ctypes.COMError: (-2147220991, 'An event was unable to invoke any of the subscribers', (None, None, None, 0, None))

我确信这个错误来自于调用 .click() 但不知道为什么。此外,尽管程序因错误而关闭,但“标签维护”窗口确实出现。

  1. 我确保我使用的 pywinauto 版本与我使用的 python 版本兼容
  2. 我增加了程序在超时之前运行的时间,以确保此错误不是单击“标签维护”后命令的原因
  3. 我已经梳理了“标签维护”所在窗口的控件标识符,并确保其位置是我在命令中引用的位置。
python ui-automation pywinauto
1个回答
0
投票

有时(我经常说:))应用程序没有为

.click()
方法实现正确的处理程序代码,因此您必须使用
.click_input()
来代替。

附注某些 GUI 元素可能仍然存在,但在某些析构函数情况下不可见。

© www.soinside.com 2019 - 2024. All rights reserved.