pyautogui是一個(gè)可以控制鼠標(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)掉該程序,它提供了一個(gè)保護(hù)措施,即把鼠標(biāo)移到最左上角,此時(shí)程序報(bào)錯(cuò)退出;
默認(rèn)FAILSAFE=True,保護(hù)模式開啟
FAILSAFE = False
關(guān)閉保護(hù)措施
獲取屏幕信息
size()
獲取當(dāng)前屏幕的分辨率,如(1920,1080)二元組
注意:屏幕左上角是原點(diǎn)(0,0),整個(gè)屏幕相當(dāng)于第一象限
position()
獲取鼠標(biāo)當(dāng)前坐標(biāo)
onScreen(x,y)
判斷點(diǎn)(x,y)是否在屏幕范圍內(nèi),如負(fù)值一定返回False
移動(dòng)鼠標(biāo)
moveTo(x,y,duration=0.25)
用0.25s的時(shí)間將鼠標(biāo)移到(x,y)位置
moveRel(x,y,duration=0.25)
以鼠標(biāo)所在位置為原點(diǎn),將鼠標(biāo)移動(dòng)到(x,y)處
下面代碼,讓鼠標(biāo)在指定位置繞一個(gè)正方形轉(zhuǎn)動(dòng)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)事件
點(diǎn)擊鼠標(biāo)
click(x, y, button='left', click=3, interval=0.5)
button有3個(gè)選項(xiàng):left,middle,right,不加則默認(rèn)點(diǎn)擊鼠標(biāo)左鍵click表示單擊次數(shù)interval表示每次單擊之間的時(shí)間間隔click()函數(shù)實(shí)際由mouseDown()和mouseUp()組成,即按下和松開;
pyautogui.doubleClick()
鼠標(biāo)雙擊,其實(shí)就是執(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)截取整個(gè)屏幕
im.getpixel( (x,y) )
獲取指定位置的像素,是一個(gè)三元組(注意輸入格式)
pixelMatchesColor(x,y,(R,G,B))
判斷(x,y)處的像素是否等于RGB
im.save('xx.png')
保存為x.png
尋找按鈕
locateOnscreen('xx.png')
尋找屏幕中和xx.png一樣的圖標(biāo)位置,是一個(gè)四元組
click( center( locateOnscreen('xx.png') ) )
點(diǎn)擊該圖標(biāo)的中心,center用來獲取圖標(biāo)中心點(diǎn)的坐標(biāo)
比如把網(wǎng)易云音樂的應(yīng)用存為music.png,上述就執(zhí)行自動(dòng)點(diǎn)擊網(wǎng)易云的圖標(biāo)
總結(jié)
以上所述是小編給大家介紹的python中的pyautogui實(shí)現(xiàn)鼠標(biāo)鍵盤控制功能,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
