通過 menu().items() 可以獲取當前級次下的選單項,再通過 sub_menu() 判斷是有下級選單項,不斷的遞迴,把所有的選單項列印出來。
# -*- coding: UTF8 -*-
from pywinauto import Application
import psutil
def get_pid(name):
'''
作用:根據程序名獲取程序pid
返回:返回匹配第一個程序的pid
'''
pids = psutil.process_iter()
for pid in pids:
if(pid.name() == name):
return pid.pid
def list_menu(menu_item, space):
'''
作用:遞迴法遍歷選單
'''
for i in menu_item.items():
if(len(i.text()) > 0):
print(space + i.text())
if(i.sub_menu() != None):
list_menu(i.sub_menu(), " " + space)
app = Application().connect(process = get_pid("notepad.exe"))
win = app.window(title_re = "cmd.txt - 記事本")
list_menu(win.menu(), "")
# 選單欄操作
win.menu_select("檔案->頁面設定")
我以記事本來做個範例,效果圖如下:
這是選單欄操作的效果圖演示,我開啟的是頁面設定:
喜歡的點個贊❤吧!