python pyautogui 簡介
pyautogui 是 python的一個模組,他能控制鍵盤和滑鼠的操作,能利用它做自動化操作,像是用在軟體測試、重複性動作等。
(0,0) →→→→(1920,0)
↓
↓
↓
↓
(0,1080)
取得螢幕解析度
button = 'left', 'middle', 'right'。
click()包含著mouseDown()及mouseUp()兩個動作
pyautogui.rightClick():右擊
pyautogui.middleClick():中擊
注意:duration時間不能太短,拖動太快有些系統會吃不消
注意:duration時間不能太短,拖動太快有些系統會吃不消
example: altleft + f4
整理自:WTF Daily Blog
參考自:https://sites.google.com/a/crayflames.co.cc/crayflames/python/ptp/pythonpyautoguimonishubiaodongzuo
http://martychen920.blogspot.tw/2017/06/python-pyautogui.html
pyautogui 暫停幾秒鐘
>>>pyautogui.PAUSE = 1.5
fail-safe (預設false)
當滑鼠一道螢幕左上角時,觸發 pyautogui 的failsafeexception 異常>>>pyautogui.FAILSAFE = True
螢幕上的座標軸
(0,0) →→→→(1920,0)
↓
↓
↓
↓
(0,1080)
取得螢幕解析度
>>>import pyautogui >>>pyautogui.size() (1920, 1080) >>>width, height = pyautogui.size()
滑鼠部分
moveTo(width, height, duration)
example移動到(300, 400)位置pyautogui.moveTo(300, 400) #立即到 pyautogui.moveTo(300, 400, duration = 1.5) #花1.5秒移到
moeRel(width, height, duration)
移到相對座標,以當前滑鼠座標為基準點pyautogui.moveRel(0, 100, duration=0.25) pyautogui.moveRel(-100, 0, duration=0.25)
position()
獲得滑鼠當前的座標位置>>>pyautogui.position() (300, 400)
click(width, height, button)
滑鼠點擊button = 'left', 'middle', 'right'。
pyautogui.click() #在當前位置點擊(預設左鍵) pyautogui.click(width, height) #在(width, height)點擊滑鼠(預設左鍵) pyautogui.click(width, height, button='left') #點擊滑鼠左鍵
click()包含著mouseDown()及mouseUp()兩個動作
mouseDown()
只按下按鍵mouseUp()
只彈起按鍵Other:
pyautogui.doubleClick():鼠標雙擊,其實就是執行兩次click()函數。pyautogui.rightClick():右擊
pyautogui.middleClick():中擊
dragTo(width, height, duration)
拖曳。按下滑鼠拉動注意:duration時間不能太短,拖動太快有些系統會吃不消
dragRel(width, height, duration)
拖曳。按下滑鼠拉動相對位置注意:duration時間不能太短,拖動太快有些系統會吃不消
scroll(int)
滑鼠滾輪。值為正值往上滾,值為負往下滾。pyautogui.scroll(200)
locateOnScreen(filename)
透過圖片匹配找到所在位置,尋找的位置一定要完整地出現在螢幕上,找獨到需要等很久才會出現錯誤跳出,目前還沒找到如何能判斷找不到的判斷式。>>>locateOnScreen('button.png') (643, 745, 70, 29)
center()
中心座標。button = locateOnScreen('button.png') width, height = pyautogui.center(button) width, height = pyautogui.center((643, 745, 70, 29)) pyautogui.click(width, height)
鍵盤操作
typewrite(string)
輸入字串。pyautogui.typewrite('Hello world!') pyautogui.typewrite('Hello world!', 0.25) #延遲輸入
鍵盤按鍵表 'enter' (或'return' 或 '\n') Enter鍵 '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'...。 F1 ...... .F12鍵 'volumemute', 'volumedown', 'volumeup' 有些鍵盤沒有 'pause' PAUSE鍵 'Capslock', 'numlock', 'scrolllock' CAPS LOCK,NUM LOCK和SCROLL LOCK鍵 'insert' INS或INSERT鍵 'printscreen' PRTSC 或 PRINT SCREEN鍵 'winleft', 'winright' Win鍵 'command' Mac OS X command鍵
keyDown()
按下某個鍵keyUp()
鬆開某個鍵press()
一次完整的擊鍵,前面兩個函數的組合。pyautogui.press(['enter','tab']) #按一下enter 再按tab
example: altleft + f4
pyautogui.keyDown('altleft'); pyautogui.press('f4'); pyautogui.keyUp('altleft')
hotkey()
example: altleft + f4pyautogui.hotkey('altleft', 'f4')
整理自:WTF Daily Blog
參考自:https://sites.google.com/a/crayflames.co.cc/crayflames/python/ptp/pythonpyautoguimonishubiaodongzuo
http://martychen920.blogspot.tw/2017/06/python-pyautogui.html
留言
張貼留言