在windows上安裝
pip install pyautogui
螢幕相關功能
pyautogui.size()#螢幕目前的解析度
pyautogui.position()#滑鼠游標目前的位置(x,y)
pyautogui.onScreen(x, y)#檢查目前螢幕上有沒有(x,y) 回傳 true or false
滑鼠移動
pyautogui.moveTo(100, 200)#一般移動,時間為0.1秒
pyautogui.moveTo(100, 200, 2)#一般移動,時間為2秒
pyautogui.moveTo(100, 200,duration=2)#一般移動,時間為2秒 duration為移動時間
pyautogui.move(0, 50)#以滑鼠目前的位置 向y移動50
pyautogui.moveTo(100, 100, 2, pyautogui.easeInQuad)#特殊移動,時間為2秒 開始慢結束快
pyautogui.moveTo(100, 100, 2, pyautogui.easeOutQuad)#特殊移動,時間為2秒 開始快結束慢
pyautogui.moveTo(100, 100, 2, pyautogui.easeInOutQuad)#特殊移動,時間為2秒 回彈動作
pyautogui.moveTo(100, 100, 2, pyautogui.easeInElastic)#特殊移動,時間為2秒 (未知待測)
pyautogui.dragTo(100, 200, button='left')#按住左鍵,拖到100,200放開(可加上特殊移動)
pyautogui.dragTo(300, 400, 2, button='left')#按住左鍵,拖到300,400放開,花費2秒(可加上特殊移動)
pyautogui.drag(30, 0, 2, button='right')#按住左鍵,拖到目前滑鼠位置+30 x,花費2秒(可加上特殊移動)
滑鼠點擊
pyautogui.click() #目前位置左鍵點擊一下
pyautogui.click(x=100, y=200) 移動到100 200位置左鍵點擊
pyautogui.click(button='right')#目前位置右鍵點擊一下 button為滑鼠鍵參數
pyautogui.click(clicks=2, interval=0.25)#左鍵點擊2次,間隔0.25秒
pyautogui.doubleClick()#點兩下 可加入 button 改變按鍵 interval 間隔 x y 位置
pyautogui.mouseDown() #滑鼠左鍵按下
pyautogui.mouseUp() #滑鼠左鍵放開
pyautogui.mouseUp(button='right', x=100, y=200)
#button 要按的滑鼠鍵
#x y要移動的位置
滑鼠滾動
pyautogui.scroll(10) #向上滾動
pyautogui.scroll(-10)#向下滾動
pyautogui.hscroll(10) #向左水平滾動
鍵盤控制
pyautogui.write('Hello world!') #依序輸入文字
pyautogui.write('Hello world!', interval=0.25)#依序輸入文字,每個字相隔0.25秒
pyautogui.press('enter')#按一下按鍵
pyautogui.press('f1')
pyautogui.press('left')
pyautogui.keyDown('shift')#按住按鍵
pyautogui.keyUp('shift')#放開按鍵
pyautogui.press(['left', 'left', 'left'])#按多個按鍵
pyautogui.press('left', presses=3)#presses 按幾次
訊息框
pyautogui.alert(text='', title='', button='OK')#帶確認的提示訊息框
pyautogui.confirm(text='', title='', buttons=['OK', 'Cancel'])#帶選項的訊息框 可用變數接回傳值
pyautogui.prompt(text='', title='' , default='')#帶可文字輸入的訊息框,回傳值為用戶輸入的值
pyautogui.password(text='', title='', default='', mask='*')#帶文字輸入的訊息框,用於輸入密碼
取圖與找色找圖
需要額外插件才能使用
pip install Pillow #取圖用
pip install opencv-python #模糊找圖用
取圖
pyautogui.screenshot('my_screenshot.png',region=(0,0, 300, 400))#參數1 存下來的名稱,參數2 取圖範圍
找圖
pyautogui.locateOnScreen('calc7key.png') #找圖的位置與大小
>>>Box(left=1416, top=562, width=50, height=41)
pyautogui.locateOnScreen('calc7key.png', confidence=0.9)#找圖的位置與大小 模糊0.9
x, y = pyautogui.locateCenterOnScreen('calc7key.png')#找圖並回傳圖正中央的位置
#以上找圖,可加上 region=(0,0, 300, 400) 來減少範圍,加快處理速度
pyautogui.locateOnScreen('calc7key.png', grayscale=True)#使用灰階批配,能加速找,但也更容易找錯
找色
pyautogui.pixel(100, 200)#找此點的顏色
>>>RGB(red=130, green=135, blue=144)
pyautogui.pixelMatchesColor(100, 200, (130, 135, 144))#找此點是否為目標色
pyautogui.pixelMatchesColor(100, 200, (140, 125, 134), tolerance=10)#找此點是否為目標色(允許色差+-10)