pywinauto简介

1、pywinauto是什么

pywinauto是一组实现windows GUI窗口自动化的python模块。使用pywinauto可以方便的给窗口发送鼠标、键盘事件,使用python程序控制程序窗口。

2、安装

2.1、自动安装

  • 使用pip
pip install pywinauto
  • 或者使用conda
conda install -c conda-forge pywinauto

2.2、手动安装

2.3、安装验证

from pywinauto.application import Application

app = Application().start("notepad.exe")
app.Notepad.Edit.type_keys('Hello{SPACE}World!')

安装正常的话,运行上面的代码,会打开记事本,书写“Hello World!”。其中{SPACE}表示键盘输入空格。

注:如果windows默认输入法是中文,运行上述代码可能会出现中文或者空格不能正常显示,在输入法设置中设置默认为英文即可。

3、pywinauto程序运行原理

pywinauto库很多地方都使用类的__getattribute__()属性解析方法,例如“app.Notepad”将会查找title为“Notepad”的子窗口,“app.Notepad.Edit”将会在title为“Notepad”的子窗口中查找title为“Edit”的子窗口或控件。

属性解析失败,会延迟一段时间(默认是5秒),再进行重试。超过默认时间,仍然解析失败,会抛出超时异常。如下面的代码:

app.Notepad.menu_select("文件->另存为(&A)...")
app['另存为'].Edit.type_keys(r'D:\tem\test.txt')
app['另存为']['保存(&S)'].click()

 在执行第二行代码时,“另存为”对话框可能还未打开。这时属性解析将会等待一段时间,等待“另存为”对话框打开后,再继续后续的解析。这个机制很方便,避免我们显示使用time.sleep函数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值