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

