python編寫腳本之pyautogui的安裝和使用教程
前言
以下是我對(duì)python中編寫腳本最重要的庫(kù)之一pyautogui的學(xué)習(xí)整理,分享給大家希望有所幫助
提示:我在初步使用pyautogui的過程中發(fā)現(xiàn)對(duì)于谷歌瀏覽器的click點(diǎn)擊失效,其他尚未發(fā)現(xiàn)
pyautogui的安裝?
可以使用cmd輸入pip install pyautogui進(jìn)行庫(kù)的安裝
鼠標(biāo)
對(duì)鼠標(biāo)的控制是基于屏幕上的位置的,比如我的電腦的顯示分辨率是1920?1080,也就是從屏幕的左上角開始,水平方向向右代表x,一行中有1920個(gè)小像素塊,垂直方向向下代表y,一列中有1080個(gè)像素塊,就像一個(gè)大坐標(biāo)系,只不過整個(gè)屏幕中只有第一象限
使用size獲取屏幕的顯示分辨率
示例如下:
from pyautogui import size x,y=size() print(x,y)
?使用position獲取鼠標(biāo)當(dāng)前位置
from pyautogui import position x,y=position() print(x,y)
鼠標(biāo)移動(dòng)
moveTo:把鼠標(biāo)移動(dòng)到屏幕的某個(gè)位置
上面可知左上角的坐標(biāo)是(0,0),右下角就是(1920,1080),示例如下
from pyautogui import moveTo moveTo(1684,1059,duration=3)#1684和1059是要移動(dòng)到的位置,duration表示執(zhí)行該移動(dòng)的時(shí)間,單位是秒
moveRel(move):基于當(dāng)前位置進(jìn)行移動(dòng)
from pyautogui import moveTo,moveRel moveRel(100,200,duration=2) #從當(dāng)前鼠標(biāo)所在的位置移動(dòng)到向右100,向下200的位置,過程時(shí)間設(shè)定為2秒
鼠標(biāo)點(diǎn)擊
click:?jiǎn)螕羰髽?biāo)
? from pyautogui import click #click中指定了坐標(biāo),也是可以設(shè)置從執(zhí)行到點(diǎn)擊這個(gè)位置的duration時(shí)間,以及左邊,中間還是右鍵 click(100,200,button='left',duration=2) click(100,200,button='middle') click(100,200,button='right')
?doubleClick:雙擊鼠標(biāo)
from pyautogui import doubleClick #參數(shù)與單擊相同,只不過現(xiàn)在是雙擊鼠標(biāo) doubleClick(100,200,button='left',duration=2) doubleClick(100,200,button='middle') doubleClick(100,200,button='right')
mouseDown和mouseUp:鼠標(biāo)的按下與釋放?
from pyautogui import mouseDown,mouseUp mouseDown() # 鼠標(biāo)按下 mouseUp() # 鼠標(biāo)釋放
鼠標(biāo)拖動(dòng)
?dragTo:拖動(dòng)鼠標(biāo)到某位置
dragRel:根據(jù)當(dāng)前位置對(duì)數(shù)表進(jìn)行拖動(dòng)
鼠標(biāo)拖動(dòng)與鼠標(biāo)移動(dòng)類似,但相比較,做了一個(gè)移動(dòng)窗口的區(qū)別測(cè)試
from pyautogui import moveTo,mouseDown,mouseUp mouseDown(button='left') moveTo(1000,500) mouseUp(button='left')
from pyautogui import dragTo,mouseDown,mouseUp mouseDown(button='left') dragTo(1000,500) mouseUp(button='left')
在測(cè)試的時(shí)候發(fā)現(xiàn),moveTo和鼠標(biāo)按下相結(jié)合可以實(shí)現(xiàn)對(duì)某窗口的拖動(dòng),但是dragTo不可以
鼠標(biāo)滾動(dòng)
from pyautogui import scroll scroll(300)#傳入一個(gè)整數(shù),正數(shù)表示向上滑動(dòng)滾輪 scroll(-300)#向下滑動(dòng)滾輪
屏幕處理
screenshot:截取全屏
截圖將保存在腳本保存的同一目錄下
from pyautogui import screenshot screenshot().save('屏幕截圖.png')#jpg格式也支持,其他格式請(qǐng)嘗試
crop截取任意大小的截圖?,比如crop((
locateOnScreen:查找截圖位置
?這里查找截圖位置是在屏幕上查找,找到和保存的截圖符合的位置
from pyautogui import locateOnScreen print(locateOnScreen('屏幕截圖.png'))
鍵盤輸入
keyDown和keyUp:鍵盤按下和鍵盤釋放
通過鍵盤的按下與釋放可以實(shí)現(xiàn)多鍵同時(shí)按下,比如ctrl+v的粘貼等,為了實(shí)現(xiàn)多鍵同時(shí),我們還有hotkey('ctrl','c'),可以接受多個(gè)參數(shù),按照傳入順序按下,再按照相反的順序釋放
from pyautogui import keyDown,keyUp keyDown('space') # 按下空格鍵 keyUp('space') # 釋放空格鍵 keyDown('ctrl') keyDown('c') keyUp('c') keyUp('ctrl') hotkey('ctrl','c')
press:按鍵后立即釋放
可以看作按下和釋放的一個(gè)組合,比如我們要發(fā)送消息,按enter鍵,按完之后就會(huì)釋放,因此press應(yīng)用起來較多
字母的大小寫不影響按鍵,比如Enter,我們可與編寫為press('enter'),press('ENter')
有的鍵位有兩個(gè),比如Shift,在后面加上left或者right,press('shiftleft')
需要強(qiáng)調(diào)的是enter按鍵公認(rèn)為換行,可以用\n代替,即press('enter')=press('\n'),tab鍵可用\t代替
上下左右鍵分別為up,down,left,right
typewrite():連續(xù)打字
這里的typewrite可以識(shí)別大小寫
from pyautogui import typewrite typewrite('ceshi',0.5) #第一個(gè)參數(shù)是要輸入的內(nèi)容,第二個(gè)參數(shù)是每次按鍵的間隔時(shí)間 typewrite(['c','e','s','h','i']) #也可以傳入一個(gè)單個(gè)字符串的列表 typewrite(['S','u','n'])#typewrite('Sun',0.5) #將會(huì)輸入大寫的S
提示信息
提示框
from pyautogui import alert print(alert(text='一個(gè)測(cè)試',title='test')) #點(diǎn)擊確定后將返回OK
?選擇框
from pyautogui import confirm print(confirm('請(qǐng)選擇性別',buttons=['男','女'])) #將輸出你的點(diǎn)擊項(xiàng)
輸入密碼
from pyautogui import password print(password('請(qǐng)輸入你的密碼')) #將輸出剛才輸入的密碼
輸入普通內(nèi)容
from pyautogui import prompt print(prompt('請(qǐng)輸入你的賬號(hào)')) #將返回剛才輸入的內(nèi)容
總結(jié)
到此這篇關(guān)于python編寫腳本之pyautogui的安裝和使用的文章就介紹到這了,更多相關(guān)python之pyautogui安裝使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python編程PyAutoGUI庫(kù)使用與安裝簡(jiǎn)介
- 詳解Python中pyautogui庫(kù)的最全使用方法
- Python使用pyautogui模塊實(shí)現(xiàn)自動(dòng)化鼠標(biāo)和鍵盤操作示例
- Python鍵鼠操作自動(dòng)化庫(kù)PyAutoGUI簡(jiǎn)介(小結(jié))
- Python pyautogui模塊實(shí)現(xiàn)鼠標(biāo)鍵盤自動(dòng)化方法詳解
- python PyAutoGUI 模擬鼠標(biāo)鍵盤操作和截屏功能
- 使用 python pyautogui實(shí)現(xiàn)鼠標(biāo)鍵盤控制功能
相關(guān)文章
Python學(xué)習(xí)筆記之字符串和字符串方法實(shí)例詳解
這篇文章主要介紹了Python學(xué)習(xí)筆記之字符串和字符串方法,結(jié)合實(shí)例形式詳細(xì)分析了Python字符串相關(guān)操作函數(shù)與使用技巧,需要的朋友可以參考下2019-08-08以SortedList為例詳解Python的defaultdict對(duì)象使用自定義類型的方法
這篇文章主要介紹了以SortedList為例詳解Python的defaultdict對(duì)象使用自定義類型的方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07python 讀取視頻,處理后,實(shí)時(shí)計(jì)算幀數(shù)fps的方法
今天小編就為大家分享一篇python 讀取視頻,處理后,實(shí)時(shí)計(jì)算幀數(shù)fps的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07使用Python讀取二進(jìn)制文件的實(shí)例講解
今天小編就為大家分享一篇使用Python讀取二進(jìn)制文件的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07通過python繪制華強(qiáng)買瓜的字符畫視頻的步驟詳解
要把華強(qiáng)賣瓜做成字符視頻大概分為三步,通過讀取視頻,把每一幀轉(zhuǎn)為字符畫,接著把字符畫表現(xiàn)出來,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-11-11python?Opencv實(shí)現(xiàn)停車位識(shí)別思路詳解
這篇文章主要介紹了Opencv實(shí)現(xiàn)停車位識(shí)別,本文通過示例代碼場(chǎng)景分析給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07如何向scrapy中的spider傳遞參數(shù)的幾種方法
這篇文章主要介紹了如何向scrapy中的spider傳遞參數(shù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11PYQT5實(shí)現(xiàn)控制臺(tái)顯示功能的方法
今天小編大家分享一篇PYQT5實(shí)現(xiàn)控制臺(tái)顯示功能的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06