【问题标题】:Which Python extension for Windows GUI automation offers the most flexibility for tackling poorly designed UIs?哪个用于 Windows GUI 自动化的 Python 扩展为处理设计不佳的 UI 提供了最大的灵活性?
【发布时间】:2012-02-03 21:31:27
【问题描述】:

我有一个非常复杂(而且设计非常糟糕)的自动拨号器应用程序,我需要将其自动化,以使一些技术含量较低的用户能够联系客户。

我想尝试使用 Python 来完成此任务,并且想知道人们对此有何经验。四处寻找,我发现了一些针对这种类型的扩展:

我想将最终产品编译成一个独立的可执行文件,所以我正在寻找一个可以与 pyinstaller 配合使用的扩展,但它足够灵活,可以通过大量选项卡、复选框、单选按钮和隐藏选项来处理这个应用程序- 并且还拒绝在关闭时正确保存它的设置:( 系统运行的是 Windows 7。

有没有人尝试过这种事情并且可以指出哪一个可以满足这些要求?

(与 pyinstaller 和 Windows 7 兼容,并且可以处理向下钻取到复选框、单选按钮等)

【问题讨论】:

  • 您是否只对 Python 支持的解决方案感兴趣?
  • 我更喜欢 Python 解决方案,是的。

标签: python windows windows-7 automation


【解决方案1】:

PyWinauto 应该能够处理它。我用它来自动化一个 OpenGL 视频游戏,它有按钮等不是 Windows 小部件,所以我不得不使用鼠标点击。但是,使用您的应用程序,您应该能够使用它提供的用于使用 Windows 小部件的功能来深入了解小部件。如果可能的话,我建议让 pywinauto 实际启动拨号程序,因为如果不这样做,可能很难找到正在运行的应用程序的正确名称。

如果应用程序不使用 Windows gui 小部件,那么您将能够让它单击应用程序窗口以自动执行操作。您会发现一件事是应用程序必须可见且清晰。因此,如果您希望您的应用程序具有用户交互性,则必须在带有按钮的拨号器附近放置一个窗口。你必须训练你的人不要点击自动拨号窗口。

【讨论】:

  • 我对 PyWinAuto 非常满意。它可以完美地与 PyInstaller 配合使用,并且在 Window 7 上没有问题。我唯一的抱怨是:如果有许多具有相似名称的特定窗口控件,有时识别特定窗口控件可能很乏味,并且它无法从所有小部件类型中检索文本。 . 但就我的目的而言,它运作良好。
  • 如果您能告诉我们自动拨号程序的名称(如果不是自定义),那么如果人们搜索该程序名称,他们就会找到这个问题。
【解决方案2】:

我对 python 了解不多,但是 Sikuli 项目非常适合你想做的事情。这是一个带有图像识别功能的python项目 -> http://news.ycombinator.com/item?id=1074469

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多