python - 如何使用 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()
解决方案
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)