python自動(dòng)化工具之pywinauto實(shí)例詳解
本文實(shí)例為大家分享了python自動(dòng)化工具pywinauto,供大家參考,具體內(nèi)容如下
一、win環(huán)境應(yīng)用自動(dòng)化
1.瀏覽器中下載
2.在cmd下啟動(dòng):python get-pip.py
3.在cmd中輸入python -m pip --version查看安裝pip的版本。
4.模塊安裝:pip3 install pywinauto
5.程序中加載模塊:
import time from pywinautoimport application
二、實(shí)例
#encoding=utf-8
#author: walker
#date: 2018-04-26
#summary: 以 pywinauto 調(diào)用 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
# 轉(zhuǎn)換單個(gè) 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) # 具體轉(zhuǎn)換可能要很久
mainWindow.dump_tree(filename='mainWindow2.txt')
mainWindow.ToolbarSave.wait('enabled', timeout=RecognizeTimeout).click() # 點(diǎn)擊保存按鈕
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)') # 設(shè)置保存格式
saveDlg.DUIViewWndClassName.DirectUIHWND.FloatNotifySink.ComboBox.Edit.set_text(txtFile) # 設(shè)置保存文件名
saveDlg.DUIViewWndClassName.DirectUIHWND.CheckBox.UncheckByClick() # 取消復(fù)選框的選中狀態(tài)(保存后打開(kāi))
# saveDlg.type_keys(r'%S') # 保存為 txt(Alt + S)
saveDlg.child_window(title="保存(&S)", class_name="Button").wait('ready', timeout=RecognizeTimeout).click() # 點(diǎn)擊保存按鈕
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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 使用Python pyWinAuto庫(kù)自動(dòng)化Windows任務(wù)的示例代碼
- Python基于pywinauto實(shí)現(xiàn)的自動(dòng)化采集任務(wù)
- python使用pywinauto驅(qū)動(dòng)微信客戶端實(shí)現(xiàn)公眾號(hào)爬蟲(chóng)
- python+pywinauto+lackey實(shí)現(xiàn)PC端exe自動(dòng)化的示例代碼
- PythonPC客戶端自動(dòng)化實(shí)現(xiàn)原理(pywinauto)
- python pywinauto使用過(guò)程及問(wèn)題小結(jié)
相關(guān)文章
python字典各式各樣操作從基礎(chǔ)到高級(jí)全面示例詳解
在Python中,字典(Dictionary)是一種強(qiáng)大而靈活的數(shù)據(jù)結(jié)構(gòu),它允許你存儲(chǔ)和檢索鍵值對(duì),本文將深入探討Python中各式各樣的字典操作,包括基本操作、高級(jí)操作以及一些實(shí)用的技巧,通過(guò)全面的示例代碼,將展示如何充分發(fā)揮字典在Python編程中的優(yōu)勢(shì)2023-12-12
python用什么編輯器進(jìn)行項(xiàng)目開(kāi)發(fā)
在本篇文章里小編給大家整理的是一篇關(guān)于python開(kāi)發(fā)用的編輯器詳細(xì)介紹,有需要的朋友們可以參考下哎。2020-06-06
vscode搭建python Django網(wǎng)站開(kāi)發(fā)環(huán)境的示例
本文主要介紹了vscode搭建python Django網(wǎng)站開(kāi)發(fā)環(huán)境的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Python中Array特性與應(yīng)用實(shí)例深入探究
這篇文章主要為大家介紹了Python中Array特性與應(yīng)用實(shí)例深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
詳解如何將Python可執(zhí)行文件(.exe)反編譯為Python腳本
將?Python?可執(zhí)行文件(.exe)反編譯為?Python?腳本是一項(xiàng)有趣的技術(shù)挑戰(zhàn),可以幫助我們理解程序的工作原理,下面我們就來(lái)看看具體實(shí)現(xiàn)步驟吧2024-03-03
Python實(shí)現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能,涉及Python列表嵌套列表、列表嵌套字典,及按照某一元素去重復(fù)的相關(guān)操作方法,需要的朋友可以參考下2017-11-11
OpenCV-Python實(shí)現(xiàn)腐蝕與膨脹的實(shí)例
形態(tài)學(xué)操作主要包含:腐蝕,膨脹,開(kāi)運(yùn)算,閉運(yùn)算,形態(tài)學(xué)梯度運(yùn)算,頂帽運(yùn)算,黑帽運(yùn)算等操作,本文主要介紹了腐蝕與膨脹,感興趣的小伙伴們可以參考一下2021-06-06
一文詳解PyQt5中實(shí)現(xiàn)不規(guī)則窗口的顯示
這篇文章主要為大家詳細(xì)介紹了Python?PyQt5中實(shí)現(xiàn)不規(guī)則窗口的顯示的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-12-12

