python編寫腳本之pyautogui的安裝和使用教程

前言

以下是我對python中編寫腳本最重要的庫之一pyautogui的學習整理,分享給大傢希望有所幫助

提示:我在初步使用pyautogui的過程中發現對於谷歌瀏覽器的click點擊失效,其他尚未發現

pyautogui的安裝 

可以使用cmd輸入pip install pyautogui進行庫的安裝

鼠標

對鼠標的控制是基於屏幕上的位置的,比如我的電腦的顯示分辨率是1920✖1080,也就是從屏幕的左上角開始,水平方向向右代表x,一行中有1920個小像素塊,垂直方向向下代表y,一列中有1080個像素塊,就像一個大坐標系,隻不過整個屏幕中隻有第一象限

使用size獲取屏幕的顯示分辨率

示例如下:

from pyautogui import size
x,y=size()
print(x,y)

 使用position獲取鼠標當前位置

from pyautogui import position
x,y=position()
print(x,y)

鼠標移動

moveTo:把鼠標移動到屏幕的某個位置

上面可知左上角的坐標是(0,0),右下角就是(1920,1080),示例如下

from pyautogui import moveTo
moveTo(1684,1059,duration=3)#1684和1059是要移動到的位置,duration表示執行該移動的時間,單位是秒

moveRel(move):基於當前位置進行移動

from pyautogui import moveTo,moveRel
 
moveRel(100,200,duration=2)
#從當前鼠標所在的位置移動到向右100,向下200的位置,過程時間設定為2秒

鼠標點擊

click:單擊鼠標

​
from pyautogui import click
#click中指定瞭坐標,也是可以設置從執行到點擊這個位置的duration時間,以及左邊,中間還是右鍵
click(100,200,button='left',duration=2)
click(100,200,button='middle')
click(100,200,button='right')

 doubleClick:雙擊鼠標

from pyautogui import doubleClick
#參數與單擊相同,隻不過現在是雙擊鼠標
doubleClick(100,200,button='left',duration=2)
doubleClick(100,200,button='middle')
doubleClick(100,200,button='right')

mouseDown和mouseUp:鼠標的按下與釋放 

from pyautogui import mouseDown,mouseUp
mouseDown()   # 鼠標按下
mouseUp()    # 鼠標釋放

鼠標拖動

 dragTo:拖動鼠標到某位置

dragRel:根據當前位置對數表進行拖動

鼠標拖動與鼠標移動類似,但相比較,做瞭一個移動窗口的區別測試

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')

在測試的時候發現,moveTo和鼠標按下相結合可以實現對某窗口的拖動,但是dragTo不可以

鼠標滾動

from pyautogui import scroll
 
scroll(300)#傳入一個整數,正數表示向上滑動滾輪
scroll(-300)#向下滑動滾輪

屏幕處理

screenshot:截取全屏

截圖將保存在腳本保存的同一目錄下

from pyautogui import screenshot
screenshot().save('屏幕截圖.png')#jpg格式也支持,其他格式請嘗試

crop截取任意大小的截圖 ,比如crop((

locateOnScreen:查找截圖位置

 這裡查找截圖位置是在屏幕上查找,找到和保存的截圖符合的位置

from pyautogui import locateOnScreen
print(locateOnScreen('屏幕截圖.png'))

鍵盤輸入

keyDown和keyUp:鍵盤按下和鍵盤釋放

通過鍵盤的按下與釋放可以實現多鍵同時按下,比如ctrl+v的粘貼等,為瞭實現多鍵同時,我們還有hotkey(‘ctrl’,’c’),可以接受多個參數,按照傳入順序按下,再按照相反的順序釋放

from pyautogui import keyDown,keyUp
keyDown('space')   # 按下空格鍵
keyUp('space')    # 釋放空格鍵
 
keyDown('ctrl')   
keyDown('c')
keyUp('c') 
keyUp('ctrl') 
 
hotkey('ctrl','c')
 

press:按鍵後立即釋放

可以看作按下和釋放的一個組合,比如我們要發送消息,按enter鍵,按完之後就會釋放,因此press應用起來較多

字母的大小寫不影響按鍵,比如Enter,我們可與編寫為press(‘enter’),press(‘ENter’)

有的鍵位有兩個,比如Shift,在後面加上left或者right,press(‘shiftleft’)

需要強調的是enter按鍵公認為換行,可以用\n代替,即press(‘enter’)=press(‘\n’),tab鍵可用\t代替

上下左右鍵分別為up,down,left,right

typewrite():連續打字

這裡的typewrite可以識別大小寫

from pyautogui import typewrite
typewrite('ceshi',0.5)
#第一個參數是要輸入的內容,第二個參數是每次按鍵的間隔時間
typewrite(['c','e','s','h','i'])
#也可以傳入一個單個字符串的列表
typewrite(['S','u','n'])#typewrite('Sun',0.5)
#將會輸入大寫的S

提示信息

提示框

from pyautogui import alert
print(alert(text='一個測試',title='test'))
#點擊確定後將返回OK

 選擇框

from pyautogui import confirm
print(confirm('請選擇性別',buttons=['男','女']))
#將輸出你的點擊項

輸入密碼

from pyautogui import password
print(password('請輸入你的密碼'))
#將輸出剛才輸入的密碼

輸入普通內容

from pyautogui import prompt
print(prompt('請輸入你的賬號'))
#將返回剛才輸入的內容

總結

到此這篇關於python編寫腳本之pyautogui的安裝和使用的文章就介紹到這瞭,更多相關python之pyautogui安裝使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: