我正在尝试使用 pywinauto 自动化 Windows 应用程序。
我可以选择菜单并打开“打开文件窗口”。
我需要等待此窗口出现,然后将焦点设置到该窗口并单击一些按钮。

由于某种原因不起作用。

def open_file():
    return pywinauto.findwindows.find_windows(best_match=u'Open File', class_name='#32770')[0]
pywinauto.timings.WaitUntilPasses(20, 0.5,open_file)
print('wait for window')
open_file.SetFocus()

当我尝试运行它时,它说 open_file 没有 SetFocus 选项。

我是 pywinauto 的初学者,我很确定这很容易解决,但我不知道如何:/

最佳答案

open_file 是一个函数。它没有这样的方法。使用 应用 对象等待对话要简单得多。

OpenDialog = pwa_app.window(best_match=u'Open', class_name='#32770').wait('visible', timeout=20, retry_interval=0.5)
OpenDialog.set_focus()

wait_until_passes 等低级函数已经封装在 wait wait_not 类的 WindowSpecification 方法中。

更简单的代码应该可以工作:
pwa_app.OpenDialog.wait('visible', timeout=20)
pwa_app.OpenDialog.set_focus()

关于python - pywinauto 等待和聚焦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28316597/

10-12 18:48