如何使用Python与窗口的GUI交互?

时间:2019-02-22 18:34:22

标签: python windows user-interface winapi

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

pyahkpyautogui似乎提供了此功能,但是通过模拟点击以一种“低级”的方式提供了

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()

1 个答案:

答案 0 :(得分:4)

pywinauto似乎更符合您的需求-它利用Win32 API和MS UI Automation等。

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

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)