前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 自动化-pywinauto遍历展示程序的所有菜单项,菜单栏menu_select()操作方法的使用

Python 自动化-pywinauto遍历展示程序的所有菜单项,菜单栏menu_select()操作方法的使用

作者头像
小蓝枣
发布2021-12-01 14:39:29
1.5K0
发布2021-12-01 14:39:29
举报
文章被收录于专栏:CSDN博客专家-小蓝枣的博客

通过 menu().items() 可以获取当前级次下的菜单项,再通过 sub_menu() 判断是有下级菜单项,不断的递归,把所有的菜单项打印出来。

代码语言:javascript
复制
# -*- 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("文件->页面设置")

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/10/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档