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读写ini文件示例(python读写文件)
Mar 25 Python
详解Python的Django框架中的通用视图
May 04 Python
在Python的Django框架中simple-todo工具的简单使用
May 30 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
python逆序打印各位数字的方法
Jun 25 Python
python实现名片管理系统项目
Apr 26 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
Python解压 rar、zip、tar文件的方法
Nov 19 Python
selenium+Chrome滑动验证码破解二(某某网站)
Dec 17 Python
Python虚拟环境库virtualenvwrapper安装及使用
Jun 17 Python
Pytorch 中net.train 和 net.eval的使用说明
May 22 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
融入意大利的咖啡文化
2021/03/03 咖啡文化
11个PHP 分页脚本推荐
2011/08/15 PHP
PHP批量采集下载美女图片的实现代码
2013/06/03 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
PHP与Web页面交互操作实例分析
2020/06/02 PHP
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
2009/10/25 Javascript
js 编程笔记 无名函数
2011/06/28 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
ionic4+angular7+cordova上传图片功能的实例代码
2019/06/19 Javascript
利用Python循环(包括while&for)各种打印九九乘法表的实例
2017/11/06 Python
Python实现的端口扫描功能示例
2018/04/08 Python
Python内存映射文件读写方式
2020/04/24 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
澳大利亚Rockwear官网:女子瑜伽、健身和运动服
2021/01/26 全球购物
地理科学专业毕业生求职信
2013/10/15 职场文书
厨房工作人员岗位职责
2013/11/15 职场文书
企划专员岗位职责
2013/12/09 职场文书
家长对小学生的评语
2014/01/28 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
新学期教师寄语
2014/04/02 职场文书
离婚协议书范文
2015/01/26 职场文书
大学推普周活动总结
2015/05/07 职场文书
门卫管理制度范本
2015/08/05 职场文书
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
JavaScript组合继承详解
2021/11/07 Javascript