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
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 本文实例讲述了Python生成8位随机字符串的方法。分享给大家供大家参考,具体如下:#!/usr/bin/env python# -*- c
- 微软昨天在其2009年专业开发者大会上展示了下一个版本的Internet Explorer浏览器IE9。尽管只是一个早期版本,IE开发团队还
- 一、函数入门1.概念函数是可以重复执行一定任务的代码片段,具有独立的固定的输入输出接口。函数定义的本质,是给一段代码取个名字,方便以后重复使
- 一、基本介绍logging 模块是python自带的一个包,因此在使用的时候,不必安装,只需要import即可。logging有 5 个不同
- 在当前的Web设计中,jQuery被越来越多地应用在Web开发中,之所以jQuery收到如此程度的欢迎,除了其本身具备的优秀易读易操作的代码
- 本文实例讲述了Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法。分享给大家供大家参考,具体如下:前言:想把QQ
- 一、 文件的操作1.1创建文件格式:f = open(‘文件', ‘w')或者f = open(‘文件', ‘r
- 轮播图的根本其实就是缓动函数的封装,如果说轮播图是一辆跑动的汽车,那么缓动函数就是它的发动机,今天本文章就带大家由简入繁,封装属于自己的缓动
- 如下所示:# 选取等于某些值的行记录 用 == df.loc[df['column_name'] == some_value
- 前言本文介绍如何使用Python制作一个简单的猜数字游戏。游戏规则玩家将猜测一个数字。如果猜测是正确的,玩家赢。如果不正确,程序会提示玩家所
- 导入线程包import threading准备函数线程,传参数t1 = threading.Thread(target=func,args=
- 大家好,本文将分享如何使用matplotlib制作动态条形图,制作的图很美,这个是我在之前发布的一篇中使用的图片,效果如下制作思路为了方便大
- 你是怎么把密码储存到数据库里?是以纯文字的方式?你可知道这对安全的危险性?当攻击你网站的人能开启数据库浏览,以纯文字方式存在数据库里的密码一
- 如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提
- Python实现对变位词的判断,供大家参考,具体内容如下什么是变位词呢?即两个单词都是由相同的字母组成,而各自的字母顺序不同,譬如pytho
- 本文实例讲述了python使用pymongo与MongoDB基本交互操作。分享给大家供大家参考,具体如下:本文内容:pymongo的使用:安
- 前言问题需求:拥有两个文件夹,一个保存图片image,一个保存标签文件,要求把标签文件中的标注提取出来,并在图片中画出来相应的思路首先提出各
- 本文讲述了Python文件操作类的操作实例,详细代码如下:#!/usr/bin/env python#!/usr/bin/env pytho
- 在我之前解释了flask如何支持多线程主要通过两个类来实现,LocalStack和Local,在Local中有两个属性,__storage_
- Python获取时间范围内日期列表和周列表的函数 1、获取日期列表# -*- coding=utf-8 -*-import datetime