pywinauto自动化操作记事本
作者:飞鸟逐岸 发布时间:2021-07-19 03:01:57
标签:pywinauto,自动化,记事本
一、什么是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()
四、总结
怎么样,挺简单的吧,其实看着简单,真正自己实践起来,还是费了一番周折的,任何一部分知识的获取与掌握,都需要有一个过程,继续加油吧!
来源:https://blog.csdn.net/HS_blog/article/details/83005047


猜你喜欢
- python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址。一、可变对象和不可变对象Python在heap中分配的对象分
- 最近邻法和k-近邻法下面图片中只有三种豆,有三个豆是未知的种类,如何判定他们的种类?提供一种思路,即:未知的豆离哪种豆最近就认为未知豆和该豆
- 使用open-cv实现简单的手势识别。刚刚接触python不久,看到了很多有意思的项目,尤其时关于计算机视觉的。网上搜到了一些关于手势处理的
- asp之家注:防止表单重复提交的方法,在客户端其实很容易实现,只要使用js让用户第一次点击提交按钮后,把提交按钮设置为disabled,这样
- 本文实例讲述了php基于curl实现随机ip地址抓取内容的方法。分享给大家供大家参考,具体如下:使用php curl 我们可以模仿用户行为,
- “点睛”的广告代码,很牛B,本想从中找出在FireFox下如何实现findText及pasteHTML类似效果的,我看了大半天,楞是没有看出
- 1.padx表示在x轴方向上的边距一般用法是padx=10,表示距离左右两边组件的长度都为10还可以这么用,padx=(20,10),表示距
- 最多16列。 create table test ( f1 int, f2 int, f3 int, f4 int, f5 int, f6
- 在这一部分,我们学习创建状态栏,菜单栏和工具栏。一个菜单是位于菜单栏的一组命令。一个工具栏有一些按钮,这些按钮在应用程序中拥有一些常用命令。
- 如下所示:from statsmodels.tsa.stattools import adfullerprint(adfuller(data
- 本文说明向外扩展数据库系统的两个选项,从而实现更高的可扩展性:水平数据划分和垂直数据划分当我提到向外扩展数据库系统时,我实际上只是讨论对数据
- 写了个简洁的隔行变色代码,支持三种动作变化颜色<!DOCTYPE html PUBLIC "-//W3C//DTD XHTM
- PyCharm使用jre,所以设置内存使用的情况和eclipse类似。编辑PyCharm安装目录下PyCharm 4.5.3\bin下的py
- 看代码吧~import pymongofrom dateutil import parserdateStr = "2019-05-
- 遇到这么个需求:把图片按照定义的patchsize切块,然后按照z轴顺序叠放小块,如下图(仅考虑灰度图像)图片im,设size为(h,w),
- 安全性问题一直DBA是比较关心的问题,因为建立数据库的目的就是让相关的的客户端来进行访问,所以很难避免不出现安全隐患,例如客户端链接的权限、
- 将Excel中的数据导入到Access中,前提是在Access中的表已经建好。 dim conn dim co
- 在本文中,将详细介绍Playwright的文本框操作, 包括如何获得文本框的值, 以及向文本框中添加单行和多行文本。田辛老师将用网上的一个测
- 本文实例为大家分享了JavaScript实现涂鸦笔的具体代码,供大家参考,具体内容如下1、html部分、css部分1.1 实现一个画框<
- 有关换行的问题首先提一个问题,如下。python程序代码如下:print("I'm Bob. What's you