Python鍵鼠操作自動化庫PyAutoGUI簡介(小結(jié))
PyAutoGUI是一個Python語言的鍵鼠自動化庫,簡單來說和按鍵精靈的功能一樣。但是因為是Python的類庫,所以可以使用Python代碼配合一些其他類庫完成更加強大的功能。下面讓我為大家介紹一下吧。
安裝
從pip安裝即可。
pip install pyautogui
稍等一下安裝就完畢了。
使用介紹
簡單介紹一下PyAutoGUI的函數(shù)以及使用方法。
鼠標(biāo)操作函數(shù)
操作鼠標(biāo)點擊的函數(shù)。
函數(shù) 簡單說明 move(x,y)、 moveTo(x,y) 移動鼠標(biāo),前者移動相對位置,后者移動到指定位置 click(x,y)、doubleClick、rightClick 單擊/雙擊/右擊,無參版本在當(dāng)前位置點擊鼠標(biāo) drag(x,y)、dragTo(x,y) 拖動鼠標(biāo) mouseDown、mouseUp 按下按鍵,松開按鍵 scroll 向下滾動鼠標(biāo)滾輪的函數(shù)
鍵盤操作函數(shù)
操作鍵盤按鍵的函數(shù)。
函數(shù) 簡介 press(’left’,press=3) hotkey(’ctrl’,’s’) 按下Ctrl+S組合鍵 keyDown、keyUp 按下和松開鍵盤按鍵
提示框函數(shù)
PyAutoGUI可以顯示提示框,這時候程序會暫停運行,直到用戶點擊提示框。
函數(shù) 簡介 alert(text=’’,title=’’,button=[’OK’,’Cancle’]) 顯示警告對話框 confirm() 顯示確認(rèn)對話框 prompt() 顯示提示對話框 password() 顯示密碼輸入對話框
屏幕截圖和定位函數(shù)
截取屏幕的函數(shù),也可以從屏幕中尋找匹配的圖片,并返回其坐標(biāo)。你可以事先保存一些按鈕的截圖,然后通過這種方式定位按鈕的位置,然后點擊。
函數(shù) 簡介 screenshot(’image.png’) 保存截圖并返回截圖,無參版本直接返回截圖不保存 center(’image.png’) 從屏幕上尋找圖片位置,返回框位置 locateOnScreen(’img’) 從屏幕尋找圖片位置,直接返回坐標(biāo)
簡單例子
先來看看官網(wǎng)的畫圖例子,我把代碼稍微改了一下。運行這個例子需要先打開一個畫圖窗口,并放到全屏,然后運行Python代碼,迅速將畫圖程序切換到前臺。這樣就可以看到PyAutoGUI控制鼠標(biāo)來繪制精確的直線了。
import pyautoguiimport timetime.sleep(3)distance = 100pyautogui.moveTo(400, 300)while distance > 0: pyautogui.drag(distance, 0, duration=0.1) distance -= 5 pyautogui.drag(0, distance, duration=0.1) pyautogui.drag(-distance, 0, duration=0.1) distance -= 5 pyautogui.drag(0, -distance, duration=0.1)
繪制出來的圖片應(yīng)該是這樣的。
如果要完成一些實際工作,難免會遇到識別點擊復(fù)雜樣式圖片的場景。前面提到了截圖和圖片識別可以比較好的解決這個問題。這個例子需要先安裝OpenCV庫和opencv-python包,安裝完畢之后就可以運行了。這里將win10計算器的幾個按鈕保存成圖片,然后用PyAutoGUI的圖片識別功能找到按鈕的坐標(biāo),這樣就可以無障礙的點擊按鈕,無需關(guān)心窗口的位置。特別提一點,下面的confidence參數(shù)需要安裝了OpenCV才可以使用,它允許我們模糊匹配圖片。
import pyautoguiimport timetime.sleep(3)# Windows計算器的按鈕截圖five = ’5.png’eight = ’8.png’multiply = ’multiply.png’equals = ’equals.png’# 圖片識別和點擊的函數(shù)def find_and_click(image): x, y = pyautogui.locateCenterOnScreen(image, confidence=0.9) pyautogui.click(x, y)# 執(zhí)行5*8=find_and_click(five)find_and_click(multiply)find_and_click(eight)find_and_click(equals)
這個例子的截圖和代碼都在我的github上,歡迎大家查看。
https://github.com/techstay/python-study/tree/master/pyautogui-sample
到此這篇關(guān)于Python鍵鼠操作自動化庫PyAutoGUI簡介(小結(jié))的文章就介紹到這了,更多相關(guān)Python PyAutoGUI內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. html中的form不提交(排除)某些input 原創(chuàng)2. ASP動態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗分享3. ASP常用日期格式化函數(shù) FormatDate()4. CSS3實現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效5. asp.net core項目授權(quán)流程詳解6. XMLHTTP資料7. vue使用moment如何將時間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時間格式8. CSS3中Transition屬性詳解以及示例分享9. jsp文件下載功能實現(xiàn)代碼10. 開發(fā)效率翻倍的Web API使用技巧
