【问题标题】:How to control a Windows application from Python如何从 Python 控制 Windows 应用程序
【发布时间】:2016-10-25 17:23:07
【问题描述】:

我的 Windows PC 上安装了该应用程序,我想使用 python 启动该应用程序并选择下拉选项并在该应用程序中执行一些其他活动。

我能够使用os.system 命令启动应用程序,但我无法继续进行。

我希望我的程序执行以下操作: * 从下拉菜单中选择 * 点击一个按钮

我的应用程序如何控制另一个应用程序的用户界面?

【问题讨论】:

  • 当您提出这样的问题时,没有人可以帮助您,可能是 100 个问题(应用程序中的错误,也许您做错了什么等)
  • 您好提莫,感谢您的回复,
  • 只是想知道启动应用程序后如何继续,可以使用哪些模块、功能来选择下拉菜单。我是 python 新手。我正在使用windows机器
  • 如果我对您的理解正确,您希望通过您的代码控制 Windows 应用程序。特别是,您希望您的代码驱动 Windows 应用程序的用户界面。对吗?
  • 是的。你是对的 RJ

标签: python windows ui-automation


【解决方案1】:

通常,应用程序为用户公开一个用户界面 (UI),并为编程公开一个应用程序编程接口 (API)。

  • 人类使用键盘和鼠标来使用用户界面(UI)
  • 应用程序使用编程应用程序编程接口(API)一起工作

UI 是为人类设计的,而 API 是为计算机设计的。

有时可以使用编程来控制另一个程序的用户界面——因此您的程序就像使用键盘和鼠标一样工作。这种技术通常称为“UI 自动化”,执行此操作的程序有时称为“机器人”。

这是一个很大的话题,而且可能相当复杂。如果可以的话,使用 API 几乎总是更好:它更快、更简单、更可靠。

如果您确实需要使用 UI 自动化,有一些不同的工具可以提供帮助。

您在询问 Python,因此这里有一些与 Python 一起使用的 UI 自动化工具:

  • AutoIT 是一款独立产品,但您可以使用 Python 编写脚本。
  • PyWinAuto 专为在 Python 中使用而设计。
  • Sikuli 使用计算机视觉来查找屏幕的各个部分。我相信它还附带一个录音工具。

重复一遍:UI 自动化既奇怪又困难。如果您可以改用 API,您的生活会轻松很多。

【讨论】:

  • 感谢 RJ 的回复。如果我找到任何 API,我会尝试。
  • 嗨,我尝试使用 pywinauto,当我尝试使用 app.start 启动应用程序时,我收到以下错误 Error opening DSP COF file 'C:\Users\general\AppData\Local\Programs \Python\Python35-32\t1.cof'!错误详细信息:系统找不到指定的文件。安装损坏或不兼容,退出...有人可以帮我解决问题吗
  • 开始一个新问题,将其标记为“pywinauto”,以便了解 pywinauto 的人看到它。解释你如何安装 Python,解释你如何安装 PyWinAuto,展示你的代码,展示你如何运行它,展示错误,解释你期望发生什么。祝你好运。
【解决方案2】:
  1. 需要安装pywinauto包

  2. 尝试以下代码运行.exe文件

    from pywinauto import application
    
    app =  application.Application()
    app.start("Notepad.exe")
    

【讨论】:

    【解决方案3】:

    你在这里: (带操作系统^_-)

    import os
    os.startfile('your exe file address')
    

    【讨论】:

    • 这个答案显然没有任何用处,因为提问者已经表示他们可以启动他们的应用程序,他们正在努力解决的部分(你甚至没有开始解决)是通过自动化控制 UI
    猜你喜欢
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    相关资源
    最近更新 更多