我正在尝试使用 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/