pywinauto等待和专注

时间:2015-02-04 08:19:12

标签: python wait pywinauto

我尝试使用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的初学者,我很确定这很容易解决,但我不知道如何:/

1 个答案:

答案 0 :(得分:4)

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_not WindowSpecification 的方法中。<登记/>

更简单的代码应该可以工作:

pwa_app.OpenDialog.wait('visible', timeout=20)
pwa_app.OpenDialog.set_focus()