python自动化工具之pywinauto实例详解


Posted in Python onAugust 26, 2019

本文实例为大家分享了python自动化工具pywinauto,供大家参考,具体内容如下

一、win环境应用自动化

1.浏览器中下载

2.在cmd下启动:python get-pip.py

3.在cmd中输入python -m pip --version查看安装pip的版本。

4.模块安装:pip3 install pywinauto

5.程序中加载模块:

import time
from pywinautoimport application

二、实例

#encoding=utf-8
#author: walker
#date: 2018-04-26
#summary: 以 pywinauto 调用 ABBYY FineReader 12 Professional 将 pdf 另存为 txt
#sys.version:'3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)]'
 
import os, sys, time, shutil, ctypes
from pywinauto.application import Application
 
# 转换单个 pdf 为 txt
# 需要保证输出 txt 文件所在目录是存在的,txt 文件不存在
# 外层许捕获异常
def Pdf2Txt(pdfFile, txtFile):
 print('Enter Pdf2Txt ...')
 
 FineReaderPath = r'F:\software\ABBYY FineReader 12\FineReader.exe'
 UsualTimeout = 30 
 
 cmd = r'"%s" "%s"' % (FineReaderPath, pdfFile)
 print('cmd: %s' % cmd)
 app = Application(backend="win32").start(cmd)
 
 mainWindow = app.window(class_name=r'FineReader12MainWindowClass')
 mainWindow.wait("ready", timeout=UsualTimeout)
 
 statButton = mainWindow.child_window(process=app.process, class_name='Button', title_re=r'\d+ OF \d+ PAGES RECOGNIZED')
 
 statButton.wait("exists visible", timeout=UsualTimeout)
 statButton.wait_not("visible", timeout=RecognizeTimeout) # 具体转换可能要很久
 
 mainWindow.dump_tree(filename='mainWindow2.txt')
 
 mainWindow.ToolbarSave.wait('enabled', timeout=RecognizeTimeout).click() # 点击保存按钮
 
 saveDlg = app.window(class_name=r'#32770', title=r'Save document as')
 saveDlg.wait("exists visible", timeout=UsualTimeout)
 saveDlg.dump_tree(filename='saveDlg.txt')
 saveDlg.DUIViewWndClassName.DirectUIHWND.ComboBox2.select('Text (*.txt)') # 设置保存格式
 saveDlg.DUIViewWndClassName.DirectUIHWND.FloatNotifySink.ComboBox.Edit.set_text(txtFile) # 设置保存文件名
 
 saveDlg.DUIViewWndClassName.DirectUIHWND.CheckBox.UncheckByClick() # 取消复选框的选中状态(保存后打开)
 
 # saveDlg.type_keys(r'%S') # 保存为 txt(Alt + S)
 saveDlg.child_window(title="保存(&S)", class_name="Button").wait('ready', timeout=RecognizeTimeout).click() # 点击保存按钮
 print('保存(&S) Button clicked!')
 
 saveDlg.wait_not("exists", timeout=UsualTimeout)
 
 cnt = 0
 for _ in range(0, 100):
 time.sleep(0.1)
 cnt += 1
 if os.path.exists(txtFile):
 break
 
 app.kill()
 
 saveDlg.wait_not("exists", timeout=UsualTimeout)
 mainWindow.wait_not("exists", timeout=20)
 print('not exists mainWindow!')
 print('current time:%f (%s)' % (time.time(), time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())))
 
 return True

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
举例讲解Python程序与系统shell交互的方式
Apr 09 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
May 25 Python
基于python实现学生管理系统
Oct 17 Python
搭建python django虚拟环境完整步骤详解
Jul 08 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
python pandas.DataFrame.loc函数使用详解
Mar 26 Python
python怎么提高计算速度
Jun 11 Python
python时间序列数据转为timestamp格式的方法
Aug 03 Python
在 Python 中使用 MQTT的方法
Aug 18 Python
python中的对数log函数表示及用法
Dec 09 Python
Python图片检索之以图搜图
May 31 Python
Python3简单爬虫抓取网页图片代码实例
Aug 26 #Python
python 数据提取及拆分的实现代码
Aug 26 #Python
Python3 使用pillow库生成随机验证码
Aug 26 #Python
python excel转换csv代码实例
Aug 26 #Python
对YOLOv3模型调用时候的python接口详解
Aug 26 #Python
pandas条件组合筛选和按范围筛选的示例代码
Aug 26 #Python
python3 反射的四种基本方法解析
Aug 26 #Python
You might like
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
移动端界面的适配
2017/01/11 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
2020/02/15 Javascript
Python3基础之list列表实例解析
2014/08/13 Python
Python的randrange()方法使用教程
2015/05/15 Python
Python实现Linux中的du命令
2017/06/12 Python
Python分支结构(switch)操作简介
2018/01/17 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
python如何生成网页验证码
2018/07/28 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
IdealFit官方网站:女性蛋白质、补充剂和运动服装
2019/03/24 全球购物
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
adidas泰国官网:adidas TH
2020/07/11 全球购物
大学生就业自我推荐信
2014/05/10 职场文书
经典禁毒标语
2014/06/16 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
CAD实训总结范文
2015/08/03 职场文书
中秋节祝酒词
2015/08/12 职场文书
centos8安装MongoDB的详细过程
2021/10/24 MongoDB
Nebula Graph解决风控业务实践
2022/03/31 MySQL