Python pyautogui模塊實(shí)現(xiàn)鼠標(biāo)鍵盤自動(dòng)化方法詳解
本文簡(jiǎn)單介紹如何使用 Python 的 pyautogui 模塊實(shí)現(xiàn)鼠標(biāo)的自動(dòng)移動(dòng)以及鍵盤的自行輸入. 該模塊不是 Python 自帶的, 因此執(zhí)行以下命令進(jìn)行安裝
# pyautogui模塊依賴image模塊,沒有image會(huì)報(bào)ImportError: No module named 'PIL'錯(cuò)誤 pip install image pip install pyautogui
官方文檔介紹:https://pyautogui.readthedocs.io/en/latest/
使用 pyautogui 模塊控制鼠標(biāo)的移動(dòng)
size(): 用于獲取屏幕分辨率
import pyautogui print(pyautogui.size())
moveTo(): 用于鼠標(biāo)的移動(dòng)
pyautogui.moveTo(100,100,duration=1)
這段代碼調(diào)用了 moveTo() 函數(shù), 其接受 x, y 坐標(biāo)作為參數(shù), 還有一個(gè)可選的持續(xù)時(shí)間參數(shù). 該函數(shù)將鼠標(biāo)指針從當(dāng)前位置移動(dòng)到 (x, y) 坐標(biāo)指定的位置, 移動(dòng)花費(fèi)的時(shí)間由持續(xù)時(shí)間參數(shù)指定. 保存并運(yùn)行該 Python 腳本, 你將看到, 鼠標(biāo)指針像被施了魔法一樣, 從當(dāng)前位置花 1 秒鐘時(shí)間移動(dòng)到坐標(biāo)位置 (100, 100).
moveRel(): 根據(jù)當(dāng)前位置, 相對(duì)移動(dòng)鼠標(biāo)指針
pyautogui.moveRel(0,300,duration=1)
這段代碼將鼠標(biāo)指針從原位置相對(duì)地移動(dòng) (0, 300) 個(gè)像素點(diǎn) (譯注: 即向下移動(dòng) 300 像素). 比如說, 運(yùn)行代碼之前, 鼠標(biāo)指針在 (1000, 300), 那么代碼運(yùn)行之后, 鼠標(biāo)指針將移動(dòng)到 (1000, 600), 耗時(shí) 1 秒.
position(): 獲取當(dāng)前鼠標(biāo)指針的位置
print(pyautogui.position())
輸出: 程序執(zhí)行時(shí)的鼠標(biāo)所在的位置坐標(biāo).
click(): 用于控制鼠標(biāo)點(diǎn)擊和拖拽
pyautogui.click(370,120)
在(370,120)的位置模擬鼠標(biāo)點(diǎn)擊,其中click還有一個(gè)參數(shù)動(dòng)作button,默認(rèn)為'lest',當(dāng)button='right'時(shí),可rightClick()效果一樣(鼠標(biāo)右鍵點(diǎn)擊)
doubleClick() 雙擊
rightClick() 右擊
有兩個(gè)與鼠標(biāo)拖拽操作相關(guān)的函數(shù): dragTo 和 dragRel. 它們的行為與 moveTo 和 moveRel 類似, 區(qū)別在于拖拽操作在移動(dòng)的過程中, 會(huì)保持鼠標(biāo)左鍵被按下.
該功能可用于不同的場(chǎng)景, 比如移動(dòng)對(duì)話框,或在 Windows 的畫板程序中用鉛筆工具自動(dòng)繪圖
import pyautogui import time time.sleep(5) # 5秒種時(shí)間切換到畫板程序 pyautogui.moveTo(200,200,duration=1) # 鼠標(biāo)移動(dòng)到(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ù)接受像素?cái)?shù)作為參數(shù), 并用給定的像素?cái)?shù)向上滾屏
pyautogui.scroll(200)
對(duì)選中的窗口進(jìn)行向上滾屏200個(gè)像素點(diǎn).當(dāng)值為負(fù)數(shù)時(shí),向下移動(dòng)
typewrite(): 用于自動(dòng)鍵入字符串, 只需將要鍵入的字符串傳遞給函數(shù)作為參數(shù)即可
pyautogui.click(100,200)
pyautogui.typewrite('hello word!')
假設(shè)文本區(qū)域位于屏幕 (100, 200) 的坐標(biāo)位置, 那么這段代碼將點(diǎn)擊文本區(qū)域, 激活它, 并鍵入'hello word!'
傳遞鍵名: 可以向 typywrite() 函數(shù)傳入分離的鍵名.
pyautogui.typewrite(['a','left','ctrlleft'])
這段代碼等價(jià)于: 鍵入 "a", 然后敲擊左方向鍵, 再敲擊左 ctrl 鍵.
熱鍵組合: hotkey() 可以模擬組合熱鍵, 比如: ctrl-c, ctrl-a, ctrl-v 等
pyautogui.hotkey('ctrlleft','v')
模擬ctrl-v,復(fù)制功能
pyautogui.hotkey('ctrl', 'shift', 'esc')
#等價(jià)于
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ù)就會(huì)有類似JavaScript的功能:
pyautogui.alert('這個(gè)消息彈窗是文字+OK按鈕') # 返回OK
pyautogui.confirm('這個(gè)消息彈窗是文字+OK+Cancel按鈕') # 返回OK 或 Cancel
pyautogui.prompt('這個(gè)消息彈窗是讓用戶輸入字符串,單擊OK') # 返回輸入的字符串
更多關(guān)于Python pyautogui模塊的使用方法請(qǐng)查看下面的相關(guān)鏈接
- python pyautogui手動(dòng)活動(dòng)(模擬鼠標(biāo)鍵盤)自動(dòng)化庫(kù)使用
- python?PyAutoGUI實(shí)現(xiàn)自動(dòng)化鼠標(biāo)鍵盤等常用操作
- Python PyAutoGUI實(shí)現(xiàn)自動(dòng)化任務(wù)應(yīng)用場(chǎng)景示例
- python自動(dòng)化神器pyautogui使用步驟
- python教程之利用pyautogui圖形自動(dòng)化擊敗重復(fù)性辦公任務(wù)
- python 利用PyAutoGUI快速構(gòu)建自動(dòng)化操作腳本
- python PyAUtoGUI庫(kù)實(shí)現(xiàn)自動(dòng)化控制鼠標(biāo)鍵盤
- Python鍵鼠操作自動(dòng)化庫(kù)PyAutoGUI簡(jiǎn)介(小結(jié))
- Python使用pyautogui模塊實(shí)現(xiàn)自動(dòng)化鼠標(biāo)和鍵盤操作示例
- Python PyAutoGUI模塊控制鼠標(biāo)和鍵盤實(shí)現(xiàn)自動(dòng)化任務(wù)詳解
- Windows自動(dòng)化Python?pyautogui?RPA操作實(shí)現(xiàn)
相關(guān)文章
python中對(duì)正則表達(dá)式re包的簡(jiǎn)單引用方式
這篇文章主要介紹了python中對(duì)正則表達(dá)式re包的簡(jiǎn)單引用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Jupyter notebook設(shè)置背景主題,字體大小及自動(dòng)補(bǔ)全代碼的操作
這篇文章主要介紹了Jupyter notebook設(shè)置背景主題,字體大小及自動(dòng)補(bǔ)全代碼的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Python基礎(chǔ)教程之控制結(jié)構(gòu)詳解
Python中有三大控制結(jié)構(gòu),分別是順序結(jié)構(gòu)、分支結(jié)構(gòu)(選擇結(jié)構(gòu))以及循環(huán)結(jié)構(gòu),任何一個(gè)項(xiàng)目或者算法都可以使用這三種結(jié)構(gòu)來設(shè)計(jì)完成,這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之控制結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下2021-11-11
Python Pillow庫(kù)詳細(xì)介紹與代碼示例
Python Pillow 庫(kù)是一個(gè)強(qiáng)大的圖像處理工具,是經(jīng)典 PIL(Python Imaging Library)庫(kù)的現(xiàn)代分支,以下是對(duì) Pillow 庫(kù)的全面講解和完整代碼示例,需要的朋友可以參考下2025-04-04
numpy庫(kù)與pandas庫(kù)axis=0,axis= 1軸的用法詳解
這篇文章主要介紹了numpy庫(kù)與pandas庫(kù)axis=0,axis= 1軸的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

