windows规范class没有点击方法

windows specification class has no click method

我正在使用 pywinauto 来自动化 windows GUI。 app.machine.Reset.click() returns 出现以下错误

  File "C:\PythonCAT\x64.6\lib\site-packages\pywinauto\application.py", line 236, in __getattr__
    return getattr(ctrls[-1], attr)
AttributeError: 'ButtonWrapper' object has no attribute 'click'

我试过使用 click_input() & click()。我收到相同的错误消息 AttributeError: 'ButtonWrapper' object has no attribute 'click'。 我也阅读了与 pywinauto 相关的文档

下面 post 中的解决方案对我不起作用。我正在使用 python 2.6.6 和 pywinauto 版本 0.5.0

Not able to automate button click on "Oracle VM virtual box" using pywinauto in python

from pywinauto.application import Application


def test():
    try:
         os.startfile(r'''machine.exe''')
         app= Application().connect(path=r'''machine.exe''')
         app.machine.DrawOutline()
         app.machine.PrintControlIdentifiers()
         #app.machine.menu_select("File->Exit")
         app.machine.Reset.click()
         #app.machine.Reset.click_input()
     finally:
         print(" done")
test()

app.machine.Reset.click() returns 出现如下错误:

  File "C:\PythonCAT\x64.6\lib\site-packages\pywinauto\application.py", line 236, in __getattr__
    return getattr(ctrls[-1], attr)
AttributeError: 'ButtonWrapper' object has no attribute 'click'

感谢任何帮助。我读过的所有 posts 都推荐使用 click() 或 invoke() 或 click_input()。我尝试过使用它们中的每一个,但每个都收到相同的错误消息。我正在尝试单击 GUI 中的重置按钮。

app.machine.Button9.Click() 对我有用。

app.machine.PrintControlIdentifiers() 为我提供了 GUI 上控件的标识符列表。其中之一是 Button9.So 而不是使用名为 Reset 的按钮名称,使用 Button9 效果很好。