Pywinauto是一组Python模块 使用它可以编写Python程序模拟对Windows窗口的操作 方便地发送鼠标和键盘事件并控制对话框及其组件。
安装
pip install pywinauto
写在前面
使用Pywinauto操作窗口应用之前 你需要知道该应用允许使用哪种访问技术进行访问 即pywinauto的backend模式。
目前Windows系统下被支持的访问技术主要有两种:
• Win32 API (backend win32 ) - 是Windows下默认的访问技术
– MFC, VB6, VCL, 简单的WinForms 和大多数传统应用使用这种模式
• MS UI Automation (backend uia )
– WinForms, WPF, Windows商店应用, Qt5, 浏览器等使用此模式
操作过程
下面以windows自带程序notepad作为例子 介绍一下Pywinauto的操作过程。注 notepad.exe应使用win32模式。
1. 初始化 本例我们使用uia模式
from pywinauto.application import Application #默认win32模式 app Application() #或者使用UIA模式 app Application(backend uia )
2. 连接应用或者启动应用
#启动应用 app.start( Notepad.exe ) #或者连接已打开的应用 app.connect( Notepad.exe )
3. 模拟操作
#模拟键盘输入字符
app.UntitledNotepad.Edit.type_keys( this is an example.{HOME} , with_spaces True)
#模拟选择菜单
app.UntitledNotepad.menu_select( Edit - Replace )
#模拟对话框输入
app.UntitledNotepad.Replace.Edit0.set_text( this )
app.UntitledNotepad.Replace.Edit2.set_text( This )
#模拟对话框按钮点击
app.UntitledNotepad.Replace.ReplaceAll.click()
app.UntitledNotepad.Replace.Cancel.click()
一些技巧
TBD



