一、什么是pywinauto
Pywinauto是基于Python开发的,用于操作Windows标准图形界面的自动化测试的脚本模块。
二、pywinauto可以用来做什么
1.可以应用在程序中,来解决工作中的重复性,手动操作图形界面程序的问题。
2.窗口的指定,鼠标或键盘操作,获得控制属性,操作控件等等。
三、实例
下面我们以一个具体的实例,来探究pywinauto的使用,我们应用pywinauto来模拟人为的操作,打开一个记事本,写入文本,更改文件名,保存退出的一系列操作。
首先我们需要使用Python的包管理工具pip来安装pywinauto这个模块,在编辑器的终端中输入以下语句来安装:
pip install pywinauto
再来验证这个模块有没有装好,输入以下语句:
from pywinauto import Application
如果没有报错的话,说明已经安装好,就可以开始进行后续操作了。
整体代码如下所示:
from pywinauto import Application # 导包
def pywinauto_task(): # 定义一个自动化任务的函数
for i in range(1, 6): # 让这个任务执行指定次数,这里是5次
app = Application().start('notepad.exe') # 实例化一个对象,并启动指定的应用程序,start参数也可写入路径
app['无标题-记事本'].MenuSelect('帮助->关于记事本') # 在指定标题的窗口中,选择菜单
app['关于“记事本”']['确定'].click() # 在弹出的窗口中,定位确定按钮,并点击
app['无标题-记事本'].MenuSelect('文件->另存为...') # 打开记事本的另存为窗口
file_name = '第' + str(i) + '个.txt' # 定义好文件的名字
app['另存为']['edit'].TypeKeys(file_name) # 将文件名键入
app['另存为']['保存'].click() # 更改文件名之后保存
app[file_name].edit.TypeKeys('hello\n', with_newlines=True) # 在记事本窗口中写入内容,并换行
app[file_name].edit.TypeKeys('这是第' + str(i) + '个文件') # 写入第二行内容
app.Notepad.MenuSelect('文件->退出') # 选择菜单退出
app['记事本']['保存'].click() # 保存写好的记事本
if __name__ == '__main__': # 执行此函数
pywinauto_work()
四、总结
怎么样,挺简单的吧,其实看着简单,真正自己实践起来,还是费了一番周折的,任何一部分知识的获取与掌握,都需要有一个过程,继续加油吧!