4

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

4

1 回答 1

5

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

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这样的低级函数已经封装在WindowSpecification类的waitwait_not方法中。 更简单的代码应该可以工作:


pwa_app.OpenDialog.wait('visible', timeout=20)
pwa_app.OpenDialog.set_focus()
于 2015-02-04T10:39:33.567 回答