Python的Windows GUI自动化之Pywinauto(五)

引言:

上一章节中,已经打开了菜单栏下的任意一个菜单,本章节我们将讲解怎么去操作其中一个菜单下的子菜单项 ,本章节中我们将继续学习 选择菜单栏中的一个菜单项

如图打开文件下的打开项
在这里插入图片描述

代码如下:

#启动应用程序
app = Application(backend='uia').start(path)
# 连接到Notepad++窗口
window = app["Notepad++"]
# 点击菜单下的文件
window['应用程序Menu'].child_window(title="文件(F)").click_input()
time.sleep(1)
#选择文件下的打开菜单  ,同理其他菜单也是如此打开
window.menu_select("文件(F)->打开(O)")

上述代码中menu_select()是Pywinauto库中的一个方法,用于选择菜单栏中的一个菜单项。它的作用是模拟用户点击菜单项的操作。

menu_select()方法的语法如下:

window.menu_select(menu_path)

其中,window是窗口对象,可以是应用程序的主窗口对象或者子窗口对象。menu_path是一个字符串,用于指定要选择的菜单项的路径。

menu_path参数的格式是一个由菜单项名称组成的字符串,使用"->"分隔每个菜单项。例如,如果要选择文件菜单中的打开菜单项,可以使用""文件(F)->打开(O)"

调用menu_select()方法后,Pywinauto会模拟用户点击相应的菜单项。这将触发相应的菜单项操作,例如打开一个文件、保存文件等。

需要注意的是,menu_select()方法只能用于选择菜单栏中的菜单项。如果要选择弹出菜单中的菜单项,可以使用popup_menu()方法。

总结一下,menu_select()方法是Pywinauto库中的一个方法,用于选择菜单栏中的一个菜单项。它可以模拟用户点击菜单项的操作,触发相应的菜单项操作。

执行上述代码后打开新的文件夹框后,又该怎么操作呢?
在这里插入图片描述

举一个例子:点击打开(O)后出现的这个框。我们点击取消,当然也可以进行其他操作,这里只是举一个例子说明

在这里插入图片描述

当然还是可以使用Pywinauto 来继续进行下一步的,上一章节中我们已经讲述过怎么使用此工具获取控件信息,就不多讲述了,直接上代码。 记住这里的打开是新的窗口title,取消是打开窗口中的其中一个控件名,此窗口下的所有中文控件名都可以这样使用。

#连接到打开窗口,并点击取消按钮
app['打开']['取消'].click()

完整代码:

import time
import psutil
from pywinauto import Application

for process in psutil.process_iter():
    try:
        processinfo = process.as_dict(attrs=['pid', 'name'])
        if processinfo['name'] == 'notepad++.exe':
            process.kill()
    except psutil.NoSuchProcess:
        pass

path = r'C:\Program Files (x86)\Notepad++\notepad++.exe'          #应用程序安装的路径
#启动应用程序
app = Application(backend='uia').start(path)
# 连接到Notepad++窗口
window = app["Notepad++"]
# 点击菜单下的文件
window['应用程序Menu'].child_window(title="文件(F)").click_input()
time.sleep(2)
#选择文件下的打开菜单  ,同理其他菜单也是如此打开
window.menu_select("文件(F)->打开(O)")
time.sleep(2)

#连接到打开窗口,并点击取消按钮
app['打开']['取消'].click()

#也可以使用下面这个方法  Button2 ==  取消
# app['打开'].Button2.click() 

总结:

本章节中我们学习了选择菜单栏中的一个菜单项的操作。语法menu_select()

并且出现新的窗口我们怎么去获取并操作其中的控件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

经历一个春

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值