在平常實施中,咱們用控件對大部分的網頁和客戶端都能進行拾取操做。可是仍有一小部分的應用沒法進行操做。這裏我經常使用到 pyautogui 這個模塊。下面作個分享。python
Python 的 pyautogui 模塊實現鼠標的自動移動以及鍵盤的自行輸入. 該模塊不是 Python 自帶的, 所以執行如下命令進行安裝函數
# pyautogui模塊依賴image模塊,沒有image會報ImportError: No module named ‘PIL‘錯誤
pip install image
pip install pyautogui
官方文檔介紹:https://pyautogui.readthedocs.io/en/latest/工具
import pyautogui '''1.size(): 用於獲取屏幕分辨率''' print("電腦當前的分辨率:",pyautogui.size()) print(type(pyautogui.size())) '''2.moveTo(): 用於鼠標的移動 ''' pyautogui.moveTo(100,100,duration=1) '''3.moveRel(): 根據當前位置, 相對移動鼠標指針''' pyautogui.moveRel(0, 300, duration=1) '''4.position(): 獲取當前鼠標指針的位置''' print("獲取當前鼠標位置:",pyautogui.position()) ''' 5.click(): 用於控制鼠標點擊和拖拽 ''' pyautogui.click(370, 120) doubleClick() 雙擊 rightClick() 右擊 """ 6.有兩個與鼠標拖拽操做相關的函數: dragTo 和 dragRel. 它們的行爲與 moveTo 和 moveRel 相似, 區別在於拖拽操做在移動的過程當中, 會保持鼠標左鍵被按下. 該功能可用於不一樣的場景, 好比移動對話框,或在 Windows 的畫板程序中用鉛筆工具自動繪圖 """ import pyautogui import time time.sleep(5) # 5秒種時間切換到畫板程序 pyautogui.moveTo(200, 200, duration=1) # 鼠標移動到(200,200)的位置 pyautogui.dragRel(100, 0, duration=1) #相對移動 pyautogui.dragRel(0, 100, duration=1) #相對移動 pyautogui.dragRel(-100, 0, duration=1) #相對移動 pyautogui.dragRel(0, -100, duration=1) #相對移動 """ 7.scroll(): 滾屏函數接受像素數做爲參數, 並用給定的像素數向上滾屏 """ pyautogui.scroll(200) #向上回滾 #對選中的窗口進行向上滾屏200個像素點.當值爲負數時,向下移動 '''8. typewrite(): 用於自動鍵入字符串, 只需將要鍵入的字符串傳遞給函數做爲參數便可 ''' pyautogui.click(1000,400) pyautogui.typewrite("hello word!") #假設文本區域位於屏幕 (100, 200) 的座標位置, 那麼這段代碼將點擊文本區域, 激活它, 並鍵入‘hello word! """ 9.傳遞鍵名: 能夠向 typewrite() 函數傳入分離的鍵名 """ pyautogui.typewrite(['a','left','ctrlleft']) #這段代碼等價於: 鍵入 "a", 而後敲擊左方向鍵, 再敲擊左 ctrl 鍵. """ 10.熱鍵組合: hotkey() 能夠模擬組合熱鍵, 好比: ctrl-c, ctrl-a, ctrl-v 等 """ # 1.模擬ctrl-v,複製功能 pyautogui.hotkey('ctrlleft','v') # 等價於 pyautogui.keyDown('ctrl') pyautogui.keyDown("shift") pyautogui.keyDown('esc') pyautogui.keyUp('esc') pyautogui.keyUp('shift') pyautogui.keyUp('ctrl') """ 11.press() :鍵盤功能按鍵""" pyautogui.press("enter") #鍵盤輸入一個 entr pyautogui.press("f1") # press the F1 key pyautogui.press("left") #按左箭頭鍵 """ 消息彈窗函數 """ #若是你須要消息彈窗,經過單擊OK暫停程序,或者向用戶顯示一些信息,消息彈窗函數就會有相似JavaScript的功能: pyautogui.alert('這個消息彈窗是文字+OK按鈕') # 返回OK pyautogui.confirm('這個消息單擊OK') # 返回輸入的字符串彈窗是文字+OK+Cancel按鈕‘) # 返回OK 或 Cancel pyautogui.prompt('這個消息彈窗是讓用戶輸入字符串,單擊OK') # 返回輸入的字符串