首页 > 解决方案 > 如何使用 Python 与窗口的 GUI 交互?

问题描述

假设您要打开myapp.exe,打开第三个菜单,然后选择第二个菜单项(即就像用户使用键盘或鼠标所做的那样),然后在对话框窗口中选择第二个按钮。

pyahk并且pyautogui似乎提供了这个,但是通过模拟点击以一种相当“低级”的方式:

pyautogui.click(x=moveToX, y=moveToY, clicks=num_of_clicks, interval=secs_between_clicks, button='left')

如何使用 Python 以更高级别的方式与 Windows GUI 交互?

例子:

window = gui.open('myapp.exe')
window.menu_open(3).choose_item(2)
child_window = window.wait_for_dialog()
child_window.buttons[1].click()

标签: pythonwindowsuser-interfacewinapi

解决方案


pywinauto似乎更符合您的要求 - 它利用 Win32 API 和 MS UI 自动化等。

以下是记事本应用程序自动化的示例:

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

app.UntitledNotepad.menu_select("Help->About Notepad")
app.AboutNotepad.OK.click()
app.UntitledNotepad.Edit.type_keys("pywinauto Works!", with_spaces = True)

推荐阅读