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!