Python pyautogui模塊實(shí)現(xiàn)鼠標(biāo)鍵盤(pán)自動(dòng)化方法詳解
本文簡(jiǎn)單介紹如何使用 Python 的 pyautogui 模塊實(shí)現(xiàn)鼠標(biāo)的自動(dòng)移動(dòng)以及鍵盤(pán)的自行輸入. 該模塊不是 Python 自帶的, 因此執(zhí)行以下命令進(jìn)行安裝
# pyautogui模塊依賴image模塊,沒(méi)有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 像素). 比如說(shuō), 運(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 類(lèi)似, 區(qū)別在于拖拽操作在移動(dòng)的過(guò)程中, 會(huì)保持鼠標(biāo)左鍵被按下.
該功能可用于不同的場(chǎng)景, 比如移動(dòng)對(duì)話框,或在 Windows 的畫(huà)板程序中用鉛筆工具自動(dòng)繪圖
import pyautogui import time time.sleep(5) # 5秒種時(shí)間切換到畫(huà)板程序 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() :鍵盤(pán)功能按鍵
pyautogui.press('enter') # press the Enter key pyautogui.press('f1') # press the F1 key pyautogui.press('left') # press the left arrow key
消息彈窗函數(shù)
如果你需要消息彈窗,通過(guò)單擊OK暫停程序,或者向用戶顯示一些信息,消息彈窗函數(shù)就會(huì)有類(lèi)似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)鍵盤(pán))自動(dòng)化庫(kù)使用
- python?PyAutoGUI實(shí)現(xiàn)自動(dòng)化鼠標(biāo)鍵盤(pán)等常用操作
- 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)鍵盤(pán)
- Python鍵鼠操作自動(dòng)化庫(kù)PyAutoGUI簡(jiǎn)介(小結(jié))
- Python使用pyautogui模塊實(shí)現(xiàn)自動(dòng)化鼠標(biāo)和鍵盤(pán)操作示例
- Python PyAutoGUI模塊控制鼠標(biāo)和鍵盤(pán)實(shí)現(xiàn)自動(dòng)化任務(wù)詳解
- Windows自動(dòng)化Python pyautogui RPA操作實(shí)現(xiàn)
相關(guān)文章
使用PyQt5實(shí)現(xiàn)一個(gè)鼠標(biāo)連點(diǎn)器
這篇文章主要為大家詳細(xì)介紹了如何使用PyQt5實(shí)現(xiàn)一個(gè)鼠標(biāo)連點(diǎn)器,從而對(duì)QVBoxLayout、QHBoxLayout和QStackedWidget進(jìn)行一個(gè)回顧復(fù)習(xí),需要的可以參考一下2023-12-12使用python獲取CPU和內(nèi)存信息的思路與實(shí)現(xiàn)(linux系統(tǒng))
這篇文章主要介紹了python獲取CPU和內(nèi)存信息的思路與實(shí)現(xiàn),有需要的朋友可以參考一下2014-01-01基于Pytorch的神經(jīng)網(wǎng)絡(luò)之Regression的實(shí)現(xiàn)
本文主要介紹了基于Pytorch的神經(jīng)網(wǎng)絡(luò)之Regression的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03python 實(shí)現(xiàn)二維字典的鍵值合并等函數(shù)
今天小編就為大家分享一篇python 實(shí)現(xiàn)二維字典的鍵值合并等函數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12用python實(shí)現(xiàn)超強(qiáng)的加密軟件
大家好,本篇文章主要講的是用python實(shí)現(xiàn)超強(qiáng)的加密軟件,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01