1. 程式人生 > 程式設計 >python自動指令碼的pyautogui入門學習

python自動指令碼的pyautogui入門學習

本文介紹了pyautogui入門學習,分享給大家,也給自己留個筆記

安裝

pip install pyautogui

學習使用

載入模組

import pyautogui

獲取資訊類

電腦螢幕的左上角是位置(0,0),向右X座標增加,向下Y座標增加

# 獲取螢幕尺寸
screenWidth,screenHeight = pyautogui.size()

# 獲取滑鼠當前位置
currentMouseX,currentMouseY = pyautogui.position()

進行操作類

滑鼠

# 滑鼠移動到螢幕中心
pyautogui.moveTo(screenWidth / 2,screenHeight / 2)
# 將滑鼠移動到固定位置
pyautogui.moveTo(100,100)
# 用“1秒”的時間移動到固定位置
pyautogui.moveTo(100,100,duration=1)
# 將滑鼠移動到相對當前“下方100”的位置
pyautogui.moveRel(0,100) 


# 滑鼠左鍵拖拽到螢幕“100,200”的位置
pyautogui.dragTo(100,200,button='left') 
# 滑鼠左鍵用“2秒”拖拽到螢幕“300,400”的位置
pyautogui.dragTo(300,400,2,button='left') 
# 滑鼠左鍵用“2秒”拖拽到相對當前“右邊30”的位置
pyautogui.dragRel(30,button='left')
### button屬性可以有:left\middle\right


# 滑鼠左鍵單擊
pyautogui.click()
# 滑鼠左鍵單擊“100,200”位置
pyautogui.click(x=100,y=200)
# 滑鼠左鍵雙擊
pyautogui.doubleClick()
# 滑鼠左鍵三擊
pyautogui.tripleClick()
# 滑鼠右鍵單擊
pyautogui.click(button='right')
# 滑鼠右鍵單擊
pyautogui.rightClick()
# 滑鼠右鍵間隔0.25秒單擊3次
pyautogui.click(button='right',clicks=3,interval=0.25)


# 滑鼠左鍵放下
pyautogui.mouseDown()
# 滑鼠左鍵抬起
pyautogui.mouseUp()


# 滑鼠滾輪上滾10
pyautogui.scroll(10)
# 滑鼠滾輪下滾10
pyautogui.scroll(-10)

鍵盤

# 輸入一個字串
pyautogui.typewrite('Hello world!')
# 每個字母間隔0.25秒輸入一個字串
pyautogui.typewrite('Hello world!',interval=0.25) 
# 鍵入 "a",然後敲擊左方向鍵,再鍵入 "b".
pyautogui.typewrite(['a','left','b'])


# 按鍵
pyautogui.press('esc')
# 連續按鍵
pyautogui.press(['left','left'])


# 鍵盤按下
pyautogui.keyDown('shift')
# 鍵盤釋放
pyautogui.keyUp('shift')

# 熱鍵按住ctrl的同時按下c
pyautogui.hotkey('ctrl','c')

支援的按鍵有:

['\t',‘\n',‘\r',' ‘,‘!',‘"',‘#',‘$',‘%',‘&',"'",‘(',
‘)',‘*',‘+',‘,',‘-',‘.',‘/',‘0',‘1',‘2',‘3',‘4',‘5',‘6',‘7',
‘8',‘9',‘:',‘;',‘<',‘=',‘>',‘?',‘@',‘[',‘\',‘]',‘^',‘_',‘`',
‘a',‘b',‘c',‘d',‘e',‘f',‘g',‘h',‘i',‘j',‘k',‘l',‘m',‘n',‘o',
‘p',‘q',‘r',‘s',‘t',‘u',‘v',‘w',‘x',‘y',‘z',‘{',‘|',‘}',‘~',

‘accept',‘add',‘alt',‘altleft',‘altright',‘apps',‘backspace',
‘browserback',‘browserfavorites',‘browserforward',‘browserhome',
‘browserrefresh',‘browsersearch',‘browserstop',‘capslock',‘clear',
‘convert',‘ctrl',‘ctrlleft',‘ctrlright',‘decimal',‘del',‘delete',
‘divide',‘down',‘end',‘enter',‘esc',‘escape',‘execute',‘f1',‘f10',
‘f11',‘f12',‘f13',‘f14',‘f15',‘f16',‘f17',‘f18',‘f19',‘f2',‘f20',
‘f21',‘f22',‘f23',‘f24',‘f3',‘f4',‘f5',‘f6',‘f7',‘f8',‘f9',
‘final',‘fn',‘hanguel',‘hangul',‘hanja',‘help',‘home',‘insert',‘junja',
‘kana',‘kanji',‘launchapp1',‘launchapp2',‘launchmail',
‘launchmediaselect',‘left',‘modechange',‘multiply',‘nexttrack',
‘nonconvert',‘num0',‘num1',‘num2',‘num3',‘num4',‘num5',‘num6',
‘num7',‘num8',‘num9',‘numlock',‘pagedown',‘pageup',‘pause',‘pgdn',
‘pgup',‘playpause',‘prevtrack',‘print',‘printscreen',‘prntscrn',
‘prtsc',‘prtscr',‘return',‘right',‘scrolllock',‘select',‘separator',
‘shift',‘shiftleft',‘shiftright',‘sleep',‘space',‘stop',‘subtract',‘tab',
‘up',‘volumedown',‘volumemute',‘volumeup',‘win',‘winleft',‘winright',‘yen',
‘command',‘option',‘optionleft',‘optionright']

訊息盒子

python自動指令碼的pyautogui入門學習

pyautogui.alert(text='你好嗎',title='問候',button='我很好')

返回button值

python自動指令碼的pyautogui入門學習

pyautogui.confirm(text='你好嗎',buttons=['我很好','我不好','不告訴你'])

返回輸入值

python自動指令碼的pyautogui入門學習

pyautogui.prompt(text='你好嗎',default='')

將輸入值用*號隱藏,返回輸入值

python自動指令碼的pyautogui入門學習

pyautogui.password(text='',title='',default='',mask='*')

截圖功能

首先需要安裝Pillow模組

im1 = pyautogui.screenshot()
# 截圖整個螢幕並命名儲存到本地
im2 = pyautogui.screenshot('my_screenshot.png')
# 截圖區域“左側,頂部,寬度和高度”
im = pyautogui.screenshot(region=(0,300,400))


# 返回值(left,top,width,height)
button7location = pyautogui.locateOnScreen('calc7key.png')

實戰練習

1、計算機自動計算

開啟電腦自帶的計算器
利用截圖工具擷取4張圖,並依次命名
將python程式和計算器一同開啟在桌面上
執行python程式

# 自動計算器輸入
import pyautogui

x = [0]*4
x[0] = pyautogui.locateCenterOnScreen('7.png')
x[1] = pyautogui.locateCenterOnScreen('+.png')
x[2] = pyautogui.locateCenterOnScreen('5.png')
x[3] = pyautogui.locateCenterOnScreen('=.png')
for i in range(4):
  pyautogui.click(x[i])

python自動指令碼的pyautogui入門學習

2、自動畫圖

# 自動畫圖
import pyautogui
import time

time.sleep(5)

distance = 200
while distance > 0:
  pyautogui.dragRel(distance,duration=0.5) # move right
  distance -= 5
  pyautogui.dragRel(0,distance,duration=0.5) # move down
  pyautogui.dragRel(-distance,duration=0.5) # move left
  distance -= 5
  pyautogui.dragRel(0,-distance,duration=0.5) # move up

python自動指令碼的pyautogui入門學習

參見官網:https://pyautogui.readthedocs.io/en/latest/index.html

到此這篇關於python自動指令碼的pyautogui入門學習的文章就介紹到這了,更多相關pyautogui入門 內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!