PyautoGui常用教程(一篇掌握)

看過很多Pyautogui,精華總結,你想要的這裡都有,一篇就夠!

一、前置參數

自動 防故障功能

# 默認這項功能為True, 這項功能意味著:當鼠標的指針在屏幕的最坐上方,程序會報錯;目的是為瞭防止程序無法停止
pyautogui.FAILSAFE =False  

停頓功能

# 意味著所有pyautogui的指令都要暫停一秒;其他指令不會停頓;這樣做,可以防止鍵盤鼠標操作太快;
pyautogui.PAUSE = 1    

二、 鼠標參數

2.1 獲取屏幕分辨率

print(pyautogui.size())   # 返回所用顯示器的分辨率; 輸出:Size(width=1920, height=1080)
width,height = pyautogui.size()
print(width,height)  # 1920 1080

2.2 鼠標移動事件

移動到指定位置

# 將鼠標移動到指定的坐標;duration 的作用是設置移動時間,所有的gui函數都有這個參數,而且都是可選參數;
# 向右移動100px,向下移動500px, 這個過程持續 1 秒鐘;
pyautogui.moveTo(100,300,duration=1)   

鼠標位置

print(pyautogui.position())   # 得到當前鼠標位置;輸出:Point(x=200, y=800)

2.3 鼠標點擊事件

鼠標單擊

# 點擊鼠標
pyautogui.click(10,10)   # 鼠標點擊指定位置,默認左鍵
pyautogui.click(10,10,button='left')  # 單擊左鍵
pyautogui.click(1000,300,button='right')  # 單擊右鍵
pyautogui.click(1000,300,button='middle')  # 單擊中間

鼠標雙擊

pyautogui.doubleClick(10,10)  # 指定位置,雙擊左鍵
pyautogui.rightClick(10,10)   # 指定位置,雙擊右鍵
pyautogui.middleClick(10,10)  # 指定位置,雙擊中鍵

鼠標點擊與釋放

pyautogui.mouseDown()   # 鼠標按下
pyautogui.mouseUp()    # 鼠標釋放

鼠標控制拖動事件

# 拖動到指定位置
# 將鼠標拖動到指定的坐標;duration 的作用是設置移動時間,所有的gui函數都有這個參數,而且都是可選參數
pyautogui.dragTo(100,300,duration=1)   

# 按方向拖動
# 向右拖動100px,向下拖動500px, 這個過程持續 1 秒鐘
pyautogui.dragRel(100,500,duration=4)   # 第一個參數是左右移動像素值,第二個是上下

鼠標滾輪

# 控制鼠標滾動的函數是scroll(), 傳入一個整數的參數,說明向上或向下滾動多少個單位;單位根據操作系統不同而不同
pyautogui.scroll(300)  # 向下滾動300個單位;

三、 鍵盤事件

3.1 鍵盤輸入函數

  • pyautogui.keyDown() : 模擬按鍵按下;
  • pyautogui.keyUp() : 模擬按鍵釋放;
  • pyautogui.press() : # 就是調用keyDown() & keyUp(),模擬一次按鍵;
  • pyautogui.typewrite(‘this’,0.5) : 第一參數是輸入內容,第二個參數是每個字符間的間隔時間;
  • pyautogui.typewrite([‘T’,’h’,’i’,’s’]):typewrite 還可以傳入單字母的列表;

鍵盤事件

pyautogui.keyDown('shift')    # 按下shift
pyautogui.press('4')    # 按下 4
pyautogui.keyUp('shift')   # 釋放 shift

緩慢輸出

pyautogui.typewrite('$*……%……¥', 0.5)

3.2 鍵盤特殊順序輸出

pyautogui.typewrite(['T','i','s','left','left','h',])   # 輸出:This

3.3 特殊按鍵

鍵盤字符串 說明
enter(或return 或 \n) 回車
esc ESC鍵
shiftleft, shiftright 左右SHIFT鍵
altleft, altright 左右ALT鍵
ctrlleft, ctrlright 左右CTRL鍵
tab (\t) TAB鍵
backspace, delete BACKSPACE 、DELETE鍵
pageup, pagedown PAGE UP 和 PAGE DOWN鍵
home, end HOME 和 END鍵
up, down, left,right 箭頭鍵
f1, f2, f3…. f12 F1…….F12鍵
volumemute, volumedown,volumeup 聲音變大變小靜音(有些鍵盤沒有)
pause PAUSE鍵,暫停鍵
capslock CAPS LOCK 鍵
numlock NUM LOCK 鍵
scrolllock SCROLLLOCK 鍵
insert INSERT鍵
printscreen PRINT SCREEN鍵
winleft, winright Win鍵(windows )
command command鍵(Mac OS X )
option option(Mac OS X)

3.4 快捷鍵

如果我們需要模擬復制的快捷鍵 ctrl + c ,如果用前面的方法,則代碼為:

pyautogui.keyDown('ctrl')
pyautogui.keyDown('c')
pyautogui.keyUp('c')
pyautogui.keyUp('ctrl')

優化後

pyautogui.hotkey('ctrl','c')

四、 屏幕處理

4.1 屏幕截圖

pyautogui 提供瞭一個方法screenshot(),可以返回一個Pillow的image對象

常用參數

im = pyautogui.screenshot() # 返回屏幕的截圖,是一個Pillow的image對象
im.getpixel((500, 500)) # 返回im對象上,(500,500)這一點像素的顏色,是一個RGB元組
pyautogui.pixelMatchesColor(500,500,(12,120,400)) # 是一個對比函數,對比的是屏幕上(500,500)這一點像素的顏色,與所給的元素是否相同;

截圖操作

im = pyautogui.screenshot()
im.save('屏幕截圖.png')

到此這篇關於PyautoGui常用教程(一篇掌握)的文章就介紹到這瞭,更多相關PyautoGui教程內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀:

    None Found