python 自动化办公 案例_python自动化工具之pywinauto实例详解
python自动化工具之pywinauto实例详解
来源:中文源码网 浏览: 次 日期:2019年11月5日
【下载文档: python自动化工具之pywinauto实例详解.txt 】
(友情提示:右键点上行txt文档名->目标另存为)
python自动化工具之pywinauto实例详解本文实例为大家分享了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自动化工具之pywinauto实例详解相关推荐
- python迭代器创建序列_Python 中迭代器与生成器实例详解
Python 中迭代器与生成器实例详解 本文通过针对不同应用场景及其解决方案的方式,总结了Python中迭代器与生成器的一些相关知识,具体如下: 1.手动遍历迭代器 应用场景:想遍历一个可迭代对象中的 ...
- python迭代器与生成器_python的迭代器与生成器实例详解
本文以实例详解了python的迭代器与生成器,具体如下所示: 1. 迭代器概述: 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后 ...
- python实现文本编辑器_Python实现文本编辑器功能实例详解
这篇文章主要介绍了Python实现的文本编辑器功能,结合实例形式详细分析了基于wxpython实现文本编辑器所需的功能及相关实现技巧,需要的朋友可以参考下 本文实例讲述了Python实现的文本编辑器功 ...
- [转载] python 遍历字符串 字符_python 遍历字符串(含汉字)实例详解
参考链接: Python字符串| rfind python 遍历字符串(含汉字)实例详解 python 遍历字符串(含汉字)实例详解 s = "中国china" for j in ...
- python中列表数据类型_Python数据类型之List列表实例详解
本文实例讲述了Python数据类型之List列表.分享给大家供大家参考,具体如下: list列表 1.概述: 通过之前的学习,我们知道变量可以存储数据,但是一个变量只能存储一个数据,现在有一个班级,班 ...
- python 遍历字符串 字符_python 遍历字符串(含汉字)实例详解
python 遍历字符串(含汉字)实例详解 python 遍历字符串(含汉字)实例详解 s = "中国china" for j in s: print j 首先一个,你这个'a'是 ...
- python decimal类型转化_python中的decimal类型转换实例详解
[Python标准库]decimal--定点数和浮点数的数学运算 作用:使用定点数和浮点数的小数运算. Python 版本:2.4 及以后版本 decimal 模块实现了定点和浮点算术运算符,使用的是 ...
- python编写自动化脚本工具_python自动化工具之pywinauto实例详解
本文实例为大家分享了python自动化工具pywinauto,供大家参考,具体内容如下 一.win环境应用自动化 1.浏览器中下载 2.在cmd下启动:python get-pip.py 3.在cmd ...
- python多态的例子_Python编程之多态用法实例详解
本文实例讲述了Python编程之多态用法.分享给大家供大家参考.具体分析如下: 什么是多态?顾名思义,多态就是多种表现形态的意思.它是一种机制.一种能力,而非某个关键字.它在类的继承中得以实现,在类的 ...
最新文章
- SCLS:拟南芥二半萜类化合物调控根系微生物组
- linux arch 软件管理工具 pacman 简介
- 文本分类入门(三)统计学习方法
- MATLAB中line函数的用法
- python语言是二进制语言吗_Python语言之运算符
- BZOJ2209: [Jsoi2011]括号序列
- 【译】将IDataRecord自动填充到实体的扩展方法
- sklearn集成学习概述
- 神奇的编码C语言,神奇的fans (C语言代码)
- proc文件系统探索 之 以数字命名的目录
- mysql分组查询统计求和
- 2017年前端该学些什么(译)
- 服务器版操作系统驱动精灵,驱动精灵2008 Beta 3发布
- 从零开始学PCR技术(四):常见问题
- 前端vs图片:2 图片深度、图片分类等基本信息
- c语言中打印ipv6地址,IPv6地址介绍
- 时之歌 服务器维护,时之歌抽卡卡住了怎么办 时之歌手游招募吞卡解决方法
- php 斐多纳契数列,菲波纳契数列对股市的影响
- DrawingManager.js___百度地图API
- PCM音频文件格式的头信息
热门文章
- Android CheckedTextView 实现单选与多选
- Error: Invoke-customs are only supported starting with Android O (--min-api 26)
- 转 前端工程师凭什么这么值钱?
- JMeter自学笔记3-创建自己的第一个测试用例
- java_native关键字
- 3种常见的linux版本,查看linux版本的三种常用方法
- Numpy 整体复制、按块复制、向量化操作、寻找缺失值、填充缺失值
- MailKit帮助类
- (一三〇)UITextField的光标操作扩展
- PL/SQL ——分页编程