使用 python pyautogui實現(xiàn)鼠標鍵盤控制功能
pyautogui是一個可以控制鼠標和鍵盤的python庫,類似的還有pywin32。
pyautogui的安裝
pip3 install python3-xlib 依賴庫 sudo apt-get install scrot 依賴庫 pip3 install pyautogui python3下安裝pyautogui庫 import pyautogui 引入該庫
pyautogui的方法保護措施
為了防止pyautogui奪取了鼠標的控制權(quán)導致我們無法關(guān)掉該程序,它提供了一個保護措施,即把鼠標移到最左上角,此時程序報錯退出;
默認FAILSAFE=True,保護模式開啟
FAILSAFE = False 關(guān)閉保護措施
獲取屏幕信息
size() 獲取當前屏幕的分辨率,如(1920,1080)二元組
注意:屏幕左上角是原點(0,0),整個屏幕相當于第一象限
position() 獲取鼠標當前坐標
onScreen(x,y) 判斷點(x,y)是否在屏幕范圍內(nèi),如負值一定返回False
移動鼠標
moveTo(x,y,duration=0.25) 用0.25s的時間將鼠標移到(x,y)位置 moveRel(x,y,duration=0.25) 以鼠標所在位置為原點,將鼠標移動到(x,y)處
下面代碼,讓鼠標在指定位置繞一個正方形轉(zhuǎn)動10圈
import pyautogui for i in range(10): pyautogui.moveTo(300, 300, duration=0.25) pyautogui.moveTo(400, 300, duration=0.25) pyautogui.moveTo(400, 400, duration=0.25) pyautogui.moveTo(300, 400, duration=0.25)
下面代碼,讓鼠標繞當前位置繞正方形轉(zhuǎn)10圈
import pyautogui for i in range(10): pyautogui.moveRel(100, 0, duration=0.25) pyautogui.moveRel(0, 100, duration=0.25) pyautogui.moveRel(-100, 0, duration=0.25) pyautogui.moveRel(0, -100, duration=0.25)
鼠標事件
點擊鼠標
click(x, y, button='left', click=3, interval=0.5)
button有3個選項:left,middle,right,不加則默認點擊鼠標左鍵click表示單擊次數(shù)interval表示每次單擊之間的時間間隔click()函數(shù)實際由mouseDown()和mouseUp()組成,即按下和松開;
pyautogui.doubleClick() 鼠標雙擊,其實就是執(zhí)行兩次click()函數(shù)。 pyautogui.rightClick() 右擊 pyautogui.middleClick() 中擊
鼠標滾輪
scroll(200) 控制鼠標的滾輪,正值上滾,負值下滾
拖拽鼠標
dragTo() dragRel()
按下鼠標,并拖拽到指定位置,用法同moveTo(),moveRel()窗口截圖處理、尋找目標按鈕截圖功能
im = screenshot( region=(x,y,width,heigth) ) 截取以(x,y)為左上角且指定寬高的區(qū)域,不加參數(shù),默認截取整個屏幕
im.getpixel( (x,y) ) 獲取指定位置的像素,是一個三元組(注意輸入格式) pixelMatchesColor(x,y,(R,G,B)) 判斷(x,y)處的像素是否等于RGB im.save('xx.png') 保存為x.png
尋找按鈕
locateOnscreen('xx.png') 尋找屏幕中和xx.png一樣的圖標位置,是一個四元組 click( center( locateOnscreen('xx.png') ) ) 點擊該圖標的中心,center用來獲取圖標中心點的坐標
比如把網(wǎng)易云音樂的應(yīng)用存為music.png,上述就執(zhí)行自動點擊網(wǎng)易云的圖標
總結(jié)
以上所述是小編給大家介紹的python中的pyautogui實現(xiàn)鼠標鍵盤控制功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
相關(guān)文章
python機器學習樸素貝葉斯算法及模型的選擇和調(diào)優(yōu)詳解
這篇文章主要為大家介紹了python機器學習樸素貝葉斯及模型的選擇和調(diào)優(yōu)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-11-11
Python存儲List數(shù)據(jù)到文件(text/csv/excel)幾種常見方法
在數(shù)據(jù)分析中經(jīng)常需要從csv格式的文件中存取數(shù)據(jù)以及將數(shù)據(jù)寫書到csv文件中,下面這篇文章主要給大家介紹了關(guān)于Python存儲List數(shù)據(jù)到文件(text/csv/excel)的幾種常見方法,需要的朋友可以參考下2024-02-02
python 將print輸出的內(nèi)容保存到txt文件中
本文通過代碼給大家介紹了python 將print輸出的內(nèi)容保存到txt文件中,代碼很簡短,需要的朋友可以參考下2018-07-07

