1、安裝 pyautogui 模塊
- pip install pyautogui
2、pyautogui 模塊相關操作
- 鼠標操作
# 獲取屏幕寬和高 w,h = pyautogui.size() # 在坐標 (1136,706) 位置處使用鼠標左鍵;默認從鼠標當前坐標位置;button 默認為 "left",有三個可選值,分別為 "left","middle","right" pyautogui.click(1136,706,button="left") pyautogui.leftClick(x,y) # 在 (300,400) 坐標處左鍵雙擊 pyautogui.click(300, 400,clicks=2, button='left',interval=0.25) # 在 (x,y) 坐標處雙擊操作;button 默認為 "left",有三個可選值,分別為 "left","middle","right" pyautogui.doubleClick(x,y,button="left",duration=0.25) # 在坐標 (1136,706) 位置處使用鼠標右鍵 pyautogui.click(1136,706,button="right") pyautogui.rightClick(x,y) # 在坐標 (x,y) 位置處使用鼠標中鍵 pyautogui.middleClick(x,y) # 按下某個鍵 pyautogui.mouseDown() # 鼠標拖動到坐標 (1566,706) 位置處 pyautogui.moveTo(1566,706,duration=0.2) # 松開某個鍵 pyautogui.mouseUp()
- 滾動條操作
# 滾動條操作,它只接受一個整數,值為正則往上滾,值為負則往下滾 pyautogui.scroll(-200)
pyautogui.scroll(200)
- 輸入操作
# 選擇輸入框 pyautogui.click(624,391) # 往輸入框輸入內容 pyautogui.typewrite("17779828887")
- 鍵盤操作
# 刪除一個字符 pyautogui.typewrite(["backspace"]) # 執行 enter 回車操作 pyautogui.typewrite(["enter"]) # 先在當前位置光標向左一個字符,接着刪除一個字符,再輸入 a,再執行 enter 操作;延時 2 秒 pyautogui.typewrite(["left","backspace","a","enter"],"2")
"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"…. |
F1…….F12鍵 |
"volumemute", "volumedown", "volumeup" |
有些鍵盤沒有 |
"pause" |
PAUSE鍵 |
"capslock", "numlock", "scrolllock" |
CAPS LOCK, NUM LOCK, 和 SCROLLLOCK 鍵 |
"insert" |
INS或INSERT鍵 |
"printscreen" |
PRTSC 或 PRINT SCREEN鍵 |
"winleft", "winright" |
Win鍵 |
"command" |
Mac OS X command鍵 |
- 組合鍵 / 熱鍵操作
#使用組合鍵 # alt + a 鍵進行組合使用 pyautogui.keyDown('alt') pyautogui.press('a') pyautogui.keyUp('alt')
# 使用熱鍵 # 調起 qq pyautogui.hotkey("ctrl","alt","z") #調起微信 pyautogui.hotkey("alt","d")
3、操作實例
- 處理驗證滑塊
import pyautogui from selenium import webdriver import time dr = webdriver.Chrome() dr.get("https://shopcs.yunyoute.com/login") dr.maximize_window() dr.implicitly_wait(10) time.sleep(2) pyautogui.click(1136,706,button="left") # 在坐標(1136,706)位置處進行鼠標左鍵 pyautogui.mouseDown() # 按下鼠標鍵 pyautogui.moveTo(1566,706,duration=0.2) # 鼠標拖動到坐標(1566,706)位置處 pyautogui.mouseUp() # 松開鼠標
- 將滑動滑塊方法封裝成功公共方法
""" 文件 Left_slide.py """ import pyautogui def left(): w,h = pyautogui.size() # 獲取屏幕寬 w 和高 h x1 = w * 0.59 x2 = w * 0.81 y1 = h * 0.65 pyautogui.click(x1,y1,button="left") # 在坐標(1136,706)位置處進行鼠標左鍵 pyautogui.mouseDown() # 按下鼠標鍵 pyautogui.moveTo(x2,y1,duration=0.2) # 鼠標拖動到坐標(1566,706)位置處 pyautogui.mouseUp() # 松開鼠標 """ 文件 case.py """ from selenium import webdriver from public.Left_slide import left import time dr = webdriver.Chrome() dr.get("https://shopcs.yunyoute.com/login") dr.maximize_window() dr.implicitly_wait(10) time.sleep(2) left() # 調用左滑方法