Python 自动化pywinauto遍历展示程序的所有菜单项

通过 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("文件->页面设置") 

我以记事本来做个示例,效果图如下:

这是菜单栏操作的效果图演示,我打开的是页面设置:

喜欢的点个赞❤吧!

本文地址:https://blog.csdn.net/qq_38161040/article/details/109055340

相关推荐:

如何通过Python脚本实现对生产环境配置文件的自动化审计?

直接用open()读取生产配置文件危险,因可能意外打印、日志落盘、覆盖配置或执行恶意代码;应只读打开、禁用exec/eval、用safe_load或ast.parse解析,并严格审计输出与权限。 为什么直接用open()读取生产配置文件是危险的 生产环境的配置文件(如settings.py、appl...

为什么Python脚本在任务计划程序中由于路径问题无法运行?

根本原因是Windows任务计划程序默认工作目录为C:\Windows\System32,导致相对路径失效;需强制切换工作目录、使用绝对路径、配置完整Python解释器路径、显式添加环境变量、重定向日志并启用历史记录。 任务计划程序中Python脚本找不到模块或文件 根本原因不是Python本身出错...

如何用Python把自动化脚本打包成带图标的独立exe

PyInstaller图标不显示主因是--icon路径错误或.ico格式不合规(需多尺寸Windows原生图标);应使用绝对路径、--icon置于脚本名前,并配合sys._MEIPASS在运行时加载图标。 用PyInstaller打包Python脚本为exe时,图标不显示? 图标没生效,大概率是--...

如何使用Python 3.12优化的垃圾回收机制处理长耗时自动化任务?

Python3.12未优化GC以解决长任务内存问题;其改进仅限gc模块内部(如停顿减少、get_stats更准),不改变手动GC行为或效果,真正有效的是控制对象生命周期而非依赖GC回收。 Python3.12并没有引入“优化的垃圾回收机制”用于长耗时自动化任务——这是个常见误解。它确实改进了gc模块...