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实例详解相关推荐

  1. python迭代器创建序列_Python 中迭代器与生成器实例详解

    Python 中迭代器与生成器实例详解 本文通过针对不同应用场景及其解决方案的方式,总结了Python中迭代器与生成器的一些相关知识,具体如下: 1.手动遍历迭代器 应用场景:想遍历一个可迭代对象中的 ...

  2. python迭代器与生成器_python的迭代器与生成器实例详解

    本文以实例详解了python的迭代器与生成器,具体如下所示: 1. 迭代器概述: 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后 ...

  3. python实现文本编辑器_Python实现文本编辑器功能实例详解

    这篇文章主要介绍了Python实现的文本编辑器功能,结合实例形式详细分析了基于wxpython实现文本编辑器所需的功能及相关实现技巧,需要的朋友可以参考下 本文实例讲述了Python实现的文本编辑器功 ...

  4. [转载] python 遍历字符串 字符_python 遍历字符串(含汉字)实例详解

    参考链接: Python字符串| rfind python 遍历字符串(含汉字)实例详解 python 遍历字符串(含汉字)实例详解 s = "中国china" for j in ...

  5. python中列表数据类型_Python数据类型之List列表实例详解

    本文实例讲述了Python数据类型之List列表.分享给大家供大家参考,具体如下: list列表 1.概述: 通过之前的学习,我们知道变量可以存储数据,但是一个变量只能存储一个数据,现在有一个班级,班 ...

  6. python 遍历字符串 字符_python 遍历字符串(含汉字)实例详解

    python 遍历字符串(含汉字)实例详解 python 遍历字符串(含汉字)实例详解 s = "中国china" for j in s: print j 首先一个,你这个'a'是 ...

  7. python decimal类型转化_python中的decimal类型转换实例详解

    [Python标准库]decimal--定点数和浮点数的数学运算 作用:使用定点数和浮点数的小数运算. Python 版本:2.4 及以后版本 decimal 模块实现了定点和浮点算术运算符,使用的是 ...

  8. python编写自动化脚本工具_python自动化工具之pywinauto实例详解

    本文实例为大家分享了python自动化工具pywinauto,供大家参考,具体内容如下 一.win环境应用自动化 1.浏览器中下载 2.在cmd下启动:python get-pip.py 3.在cmd ...

  9. python多态的例子_Python编程之多态用法实例详解

    本文实例讲述了Python编程之多态用法.分享给大家供大家参考.具体分析如下: 什么是多态?顾名思义,多态就是多种表现形态的意思.它是一种机制.一种能力,而非某个关键字.它在类的继承中得以实现,在类的 ...

最新文章

  1. SCLS:拟南芥二半萜类化合物调控根系微生物组
  2. linux arch 软件管理工具 pacman 简介
  3. 文本分类入门(三)统计学习方法
  4. MATLAB中line函数的用法
  5. python语言是二进制语言吗_Python语言之运算符
  6. BZOJ2209: [Jsoi2011]括号序列
  7. 【译】将IDataRecord自动填充到实体的扩展方法
  8. sklearn集成学习概述
  9. 神奇的编码C语言,神奇的fans (C语言代码)
  10. proc文件系统探索 之 以数字命名的目录
  11. mysql分组查询统计求和
  12. 2017年前端该学些什么(译)
  13. 服务器版操作系统驱动精灵,驱动精灵2008 Beta 3发布
  14. 从零开始学PCR技术(四):常见问题
  15. 前端vs图片:2 图片深度、图片分类等基本信息
  16. c语言中打印ipv6地址,IPv6地址介绍
  17. 时之歌 服务器维护,时之歌抽卡卡住了怎么办 时之歌手游招募吞卡解决方法
  18. php 斐多纳契数列,菲波纳契数列对股市的影响
  19. DrawingManager.js___百度地图API
  20. PCM音频文件格式的头信息

热门文章

  1. Android CheckedTextView 实现单选与多选
  2. Error: Invoke-customs are only supported starting with Android O (--min-api 26)
  3. 转 前端工程师凭什么这么值钱?
  4. JMeter自学笔记3-创建自己的第一个测试用例
  5. java_native关键字
  6. 3种常见的linux版本,查看linux版本的三种常用方法
  7. Numpy 整体复制、按块复制、向量化操作、寻找缺失值、填充缺失值
  8. MailKit帮助类
  9. (一三〇)UITextField的光标操作扩展
  10. PL/SQL ——分页编程