pywinauto自動(dòng)化操作記事本
一、什么是pywinauto
Pywinauto是基于Python開(kāi)發(fā)的,用于操作Windows標(biāo)準(zhǔn)圖形界面的自動(dòng)化測(cè)試的腳本模塊。
二、pywinauto可以用來(lái)做什么
1.可以應(yīng)用在程序中,來(lái)解決工作中的重復(fù)性,手動(dòng)操作圖形界面程序的問(wèn)題。
2.窗口的指定,鼠標(biāo)或鍵盤操作,獲得控制屬性,操作控件等等。
三、實(shí)例
下面我們以一個(gè)具體的實(shí)例,來(lái)探究pywinauto的使用,我們應(yīng)用pywinauto來(lái)模擬人為的操作,打開(kāi)一個(gè)記事本,寫入文本,更改文件名,保存退出的一系列操作。
首先我們需要使用Python的包管理工具pip來(lái)安裝pywinauto這個(gè)模塊,在編輯器的終端中輸入以下語(yǔ)句來(lái)安裝:
pip install pywinauto
再來(lái)驗(yàn)證這個(gè)模塊有沒(méi)有裝好,輸入以下語(yǔ)句:
from pywinauto import Application
如果沒(méi)有報(bào)錯(cuò)的話,說(shuō)明已經(jīng)安裝好,就可以開(kāi)始進(jìn)行后續(xù)操作了。
整體代碼如下所示:
from pywinauto import Application # 導(dǎo)包 def pywinauto_task(): # 定義一個(gè)自動(dòng)化任務(wù)的函數(shù) for i in range(1, 6): # 讓這個(gè)任務(wù)執(zhí)行指定次數(shù),這里是5次 app = Application().start('notepad.exe') # 實(shí)例化一個(gè)對(duì)象,并啟動(dòng)指定的應(yīng)用程序,start參數(shù)也可寫入路徑 app['無(wú)標(biāo)題-記事本'].MenuSelect('幫助->關(guān)于記事本') # 在指定標(biāo)題的窗口中,選擇菜單 app['關(guān)于“記事本”']['確定'].click() # 在彈出的窗口中,定位確定按鈕,并點(diǎn)擊 app['無(wú)標(biāo)題-記事本'].MenuSelect('文件->另存為...') # 打開(kāi)記事本的另存為窗口 file_name = '第' + str(i) + '個(gè).txt' # 定義好文件的名字 app['另存為']['edit'].TypeKeys(file_name) # 將文件名鍵入 app['另存為']['保存'].click() # 更改文件名之后保存 app[file_name].edit.TypeKeys('hello\n', with_newlines=True) # 在記事本窗口中寫入內(nèi)容,并換行 app[file_name].edit.TypeKeys('這是第' + str(i) + '個(gè)文件') # 寫入第二行內(nèi)容 app.Notepad.MenuSelect('文件->退出') # 選擇菜單退出 app['記事本']['保存'].click() # 保存寫好的記事本 if __name__ == '__main__': # 執(zhí)行此函數(shù) pywinauto_work()
四、總結(jié)
怎么樣,挺簡(jiǎn)單的吧,其實(shí)看著簡(jiǎn)單,真正自己實(shí)踐起來(lái),還是費(fèi)了一番周折的,任何一部分知識(shí)的獲取與掌握,都需要有一個(gè)過(guò)程,繼續(xù)加油吧!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
nginx黑名單和django限速,最簡(jiǎn)單的防惡意請(qǐng)求方法分享
今天小編就為大家分享一篇nginx黑名單和django限速,最簡(jiǎn)單的防惡意請(qǐng)求方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08利用matplotlib為圖片上添加觸發(fā)事件進(jìn)行交互
這篇文章主要介紹了利用matplotlib為圖片上添加觸發(fā)事件進(jìn)行交互,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Python?pandas找出、刪除重復(fù)的數(shù)據(jù)實(shí)例
在面試中很可能遇到給定一個(gè)含有重復(fù)元素的列表,刪除其中重復(fù)的元素,下面這篇文章主要給大家介紹了關(guān)于Python?pandas找出、刪除重復(fù)數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07新手學(xué)習(xí)Python2和Python3中print不同的用法
在本篇文章里小編給大家分享的是關(guān)于Python2和Python3中print不同的用法,有興趣的朋友們可以學(xué)習(xí)下。2020-06-06Python 過(guò)濾字符串的技巧,map與itertools.imap
Python中的map函數(shù)非常有用,在字符轉(zhuǎn)換和字符遍歷兩節(jié)都出現(xiàn)過(guò),現(xiàn)在,它又出現(xiàn)了,會(huì)給我們帶來(lái)什么樣的驚喜呢?是不是要告訴我們,map是非常棒的,以后要多找它玩呢?2008-09-09python3利用smtplib通過(guò)qq郵箱發(fā)送郵件方法示例
python實(shí)現(xiàn)郵件發(fā)送較為簡(jiǎn)單,主要用到smtplib這個(gè)模塊,所以下面這篇文章主要給大家介紹了關(guān)于python3利用smtplib通過(guò)qq郵箱發(fā)送郵件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起看看吧。2017-12-12