python自动化工具之pywinauto实例详解
本文实例为大家分享了python自动化工具pywinauto,供大家参考,具体内容如下
一、win环境应用自动化
1.浏览器中下载
2.在cmd下启动:pythonget-pip.py
3.在cmd中输入python-mpip--version查看安装pip的版本。
4.模块安装:pip3installpywinauto
5.程序中加载模块:
importtime frompywinautoimportapplication
二、实例
#encoding=utf-8 #author:walker #date:2018-04-26 #summary:以pywinauto调用ABBYYFineReader12Professional将pdf另存为txt #sys.version:'3.6.5(v3.6.5:f59c0932b4,Mar282018,16:07:46)[MSCv.190032bit(Intel)]' importos,sys,time,shutil,ctypes frompywinauto.applicationimportApplication #转换单个pdf为txt #需要保证输出txt文件所在目录是存在的,txt文件不存在 #外层许捕获异常 defPdf2Txt(pdfFile,txtFile): print('EnterPdf2Txt...') FineReaderPath=r'F:\software\ABBYYFineReader12\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+PAGESRECOGNIZED') statButton.wait("existsvisible",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'Savedocumentas') saveDlg.wait("existsvisible",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)Buttonclicked!') saveDlg.wait_not("exists",timeout=UsualTimeout) cnt=0 for_inrange(0,100): time.sleep(0.1) cnt+=1 ifos.path.exists(txtFile): break app.kill() saveDlg.wait_not("exists",timeout=UsualTimeout) mainWindow.wait_not("exists",timeout=20) print('notexistsmainWindow!') print('currenttime:%f(%s)'%(time.time(),time.strftime('%Y-%m-%d%H:%M:%S',time.localtime()))) returnTrue
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。