吾八哥博客

您现在的位置是:首页 > DevOps > 自动化 > 正文

自动化

吾八哥学Pywinauto(二):使用Pywinauto操作WinForm窗口

吾八哥2018-02-08自动化6376

前言

吾八哥我今天来学习使用Pywinauto操作WinForm窗口的方法,例如窗口的最大化,最小化,还原窗口状态,关闭等等。学习某一个库,我们要习惯性的去看对应的文档,Pywinauto的文档地址为:https://pywinauto.readthedocs.io/en/latest/HowTo.html,里面提到了如何去获取一个对话框窗口(How to specify a dialog of the application),方法如下:

dlg = app.Notepad

或者

dlg = app['Notepad']

获取顶层窗口的方法为:

dlg = app.top_window()

至于dlg下面的操作具体怎么做,官方文档也告诉我们了,在“handleprops”模块里面,这个就大家自己去看了!

实例

现在来具体写点代码实现吧,主要是用来操作窗口的,Python代码如下:

import pywinauto

#启动记事本应用程序
app = pywinauto.Application().start("notepad.exe")
#取得当前程序对话框窗口
dlg = app.Notepad
print("默认状态值:", dlg.GetShowState())
dlg.Minimize()
print("最小化状态值:", dlg.GetShowState())
dlg.Maximize()
print("最大化状态值:", dlg.GetShowState())
dlg.Restore()
print("还原到默认状态值:", dlg.GetShowState())
#写入一些测试文本内容
dlg.Edit.type_keys("Hello,Pywinauto!学Python就上学Python网Http://www.XuePython.wang", with_spaces = True)
#关闭
dlg.Close()

具体的操作还是比较简单的,主要是如何去找窗口,这个时候我们可以接触spy++哦!另外可以再试试app["xxx"]["xxx"]找对象的方法哦!

上面的代码运行后效果如下:

QQ图片20180208222153.png