Python pyautogui模塊實現(xiàn)鼠標鍵盤自動化方法詳解
本文簡單介紹如何使用 Python 的 pyautogui 模塊實現(xiàn)鼠標的自動移動以及鍵盤的自行輸入. 該模塊不是 Python 自帶的, 因此執(zhí)行以下命令進行安裝
# pyautogui模塊依賴image模塊,沒有image會報ImportError: No module named 'PIL'錯誤 pip install image pip install pyautogui
官方文檔介紹:https://pyautogui.readthedocs.io/en/latest/
使用 pyautogui 模塊控制鼠標的移動
size(): 用于獲取屏幕分辨率
import pyautogui print(pyautogui.size())
moveTo(): 用于鼠標的移動
pyautogui.moveTo(100,100,duration=1)
這段代碼調用了 moveTo() 函數(shù), 其接受 x, y 坐標作為參數(shù), 還有一個可選的持續(xù)時間參數(shù). 該函數(shù)將鼠標指針從當前位置移動到 (x, y) 坐標指定的位置, 移動花費的時間由持續(xù)時間參數(shù)指定. 保存并運行該 Python 腳本, 你將看到, 鼠標指針像被施了魔法一樣, 從當前位置花 1 秒鐘時間移動到坐標位置 (100, 100).
moveRel(): 根據(jù)當前位置, 相對移動鼠標指針
pyautogui.moveRel(0,300,duration=1)
這段代碼將鼠標指針從原位置相對地移動 (0, 300) 個像素點 (譯注: 即向下移動 300 像素). 比如說, 運行代碼之前, 鼠標指針在 (1000, 300), 那么代碼運行之后, 鼠標指針將移動到 (1000, 600), 耗時 1 秒.
position(): 獲取當前鼠標指針的位置
print(pyautogui.position())
輸出: 程序執(zhí)行時的鼠標所在的位置坐標.
click(): 用于控制鼠標點擊和拖拽
pyautogui.click(370,120)
在(370,120)的位置模擬鼠標點擊,其中click還有一個參數(shù)動作button,默認為'lest',當button='right'時,可rightClick()效果一樣(鼠標右鍵點擊)
doubleClick() 雙擊
rightClick() 右擊
有兩個與鼠標拖拽操作相關的函數(shù): dragTo 和 dragRel. 它們的行為與 moveTo 和 moveRel 類似, 區(qū)別在于拖拽操作在移動的過程中, 會保持鼠標左鍵被按下.
該功能可用于不同的場景, 比如移動對話框,或在 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)
scroll(): 滾屏函數(shù)接受像素數(shù)作為參數(shù), 并用給定的像素數(shù)向上滾屏
pyautogui.scroll(200)
對選中的窗口進行向上滾屏200個像素點.當值為負數(shù)時,向下移動
typewrite(): 用于自動鍵入字符串, 只需將要鍵入的字符串傳遞給函數(shù)作為參數(shù)即可
pyautogui.click(100,200) pyautogui.typewrite('hello word!')
假設文本區(qū)域位于屏幕 (100, 200) 的坐標位置, 那么這段代碼將點擊文本區(qū)域, 激活它, 并鍵入'hello word!'
傳遞鍵名: 可以向 typywrite() 函數(shù)傳入分離的鍵名.
pyautogui.typewrite(['a','left','ctrlleft'])
這段代碼等價于: 鍵入 "a", 然后敲擊左方向鍵, 再敲擊左 ctrl 鍵.
熱鍵組合: hotkey() 可以模擬組合熱鍵, 比如: ctrl-c, ctrl-a, ctrl-v 等
pyautogui.hotkey('ctrlleft','v')
模擬ctrl-v,復制功能
pyautogui.hotkey('ctrl', 'shift', 'esc') #等價于 pyautogui.keyDown('ctrl') pyautogui.keyDown('shift') pyautogui.keyDown('esc') pyautogui.keyUp('esc') pyautogui.keyUp('shift') pyautogui.keyUp('ctrl')
press() :鍵盤功能按鍵
pyautogui.press('enter') # press the Enter key pyautogui.press('f1') # press the F1 key pyautogui.press('left') # press the left arrow key
消息彈窗函數(shù)
如果你需要消息彈窗,通過單擊OK暫停程序,或者向用戶顯示一些信息,消息彈窗函數(shù)就會有類似JavaScript的功能:
pyautogui.alert('這個消息彈窗是文字+OK按鈕') # 返回OK pyautogui.confirm('這個消息彈窗是文字+OK+Cancel按鈕') # 返回OK 或 Cancel pyautogui.prompt('這個消息彈窗是讓用戶輸入字符串,單擊OK') # 返回輸入的字符串
更多關于Python pyautogui模塊的使用方法請查看下面的相關鏈接
- python pyautogui手動活動(模擬鼠標鍵盤)自動化庫使用
- python?PyAutoGUI實現(xiàn)自動化鼠標鍵盤等常用操作
- Python PyAutoGUI實現(xiàn)自動化任務應用場景示例
- python自動化神器pyautogui使用步驟
- python教程之利用pyautogui圖形自動化擊敗重復性辦公任務
- python 利用PyAutoGUI快速構建自動化操作腳本
- python PyAUtoGUI庫實現(xiàn)自動化控制鼠標鍵盤
- Python鍵鼠操作自動化庫PyAutoGUI簡介(小結)
- Python使用pyautogui模塊實現(xiàn)自動化鼠標和鍵盤操作示例
- Python PyAutoGUI模塊控制鼠標和鍵盤實現(xiàn)自動化任務詳解
- Windows自動化Python pyautogui RPA操作實現(xiàn)
相關文章
使用python獲取CPU和內存信息的思路與實現(xiàn)(linux系統(tǒng))
這篇文章主要介紹了python獲取CPU和內存信息的思路與實現(xiàn),有需要的朋友可以參考一下2014-01-01基于Pytorch的神經(jīng)網(wǎng)絡之Regression的實現(xiàn)
本文主要介紹了基于Pytorch的神經(jīng)網(wǎng)絡之Regression的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03python 實現(xiàn)二維字典的鍵值合并等函數(shù)
今天小編就為大家分享一篇python 實現(xiàn)二維字典的鍵值合并等函數(shù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12