PyWinAuto 打开应用程序,但不返回任何 window 对话框

PyWinAuto opening applications, but not returning any window dialogs

我正在尝试编写一个脚本来自动设置新的开发机器。我一直在使用 PyWinAuto 来尝试自动安装各种程序,这些程序主要使用 WinForm(或类似的)GUI windows。

PyWinAuto 可以正确打开应用程序,但不会 return 任何 windows。我已经安装了 SWAPY,它显示了我希望看到的控件,但它们在代码中不起作用。我尝试将 PyWinAuto 0.6.3 和 0.5.4 分别与 Python 2.7.13 和 2.7.12 一起使用(我在 Windows 7 32 位机器上)但没有任何效果。

以下是我遇到的错误示例:

    import pywinauto
    from pywinauto.application import Application

    app = Application()
    app.Start("C:\setup.exe")
    appSetup = app.Setup
    appSetup.Wait('ready')
    ...
    ...
    Error: pywinauto.timings.TimeoutError: timed out

    app = Application()
    app.Start("C:\setup.exe")
    appSetup = app.Setup
    appSetup.ClickInput()
    ...
    ...
    Error: pywinauto.findbestmatch.MatchError: Could not find 'Setup' in '[]'

这是我遇到错误的一个安装示例: Boost Install Window with SWAPY Description

非常感谢您的帮助。谢谢!

当您的目标应用程序在启动后生成一个新进程时,就会出现此问题。为了解决这个问题(在@VasilyRyabov 的帮助下 - 谢谢!),我像以前一样启动应用程序 (app.start("C:\setup.exe") 然后 connect应用程序 (app.connect(title="Setup")) 因此您连接到 运行 GUI window。

的进程

在某些情况下,如果第二个进程的生成速度不够快,我不得不在这两个函数之间添加延迟。 在 GitHub 上发布的 This issue 与此场景非常相似。