Python 有趣的模塊之pynupt ——通過pynput控制鼠標(biāo)和鍵盤
1??簡(jiǎn)介
??????學(xué)會(huì)控制鼠標(biāo)和鍵盤是實(shí)現(xiàn)自動(dòng)化的捷徑!??????
pynput是第三方庫,所以在使用pynput之前需要下載pynput包。
- 下載方式1:在終端輸入pip install pynput下載包
- 下載方式2:進(jìn)入pypi官網(wǎng):https://pypi.org??搜索pynput??選擇版本??點(diǎn)擊pip install pynput
- 下載方式3:點(diǎn)擊底部Python ackages??搜索pynput??點(diǎn)擊Install
2??鼠標(biāo)控制與移動(dòng)
?第一步:為了控制和模擬鼠標(biāo)移動(dòng),所以需要從pynput中導(dǎo)入mouse模塊。
from pynput import mouse # 導(dǎo)入mouse模塊
?第二步:使用Controller()方法。
m = mouse.Controller() # 創(chuàng)建一個(gè)鼠標(biāo)
?第三步:移動(dòng)鼠標(biāo)在屏幕上的位置。
屏幕坐標(biāo)以(0,0)為基準(zhǔn)點(diǎn)位于屏幕的左上角,往右移動(dòng)x軸坐標(biāo)增加,往左移動(dòng)x軸坐標(biāo)減小。往下移動(dòng)y軸坐標(biāo)增加,往上移動(dòng)y軸坐標(biāo)減小。
可以使用print()打印鼠標(biāo)的位置。
1.??絕對(duì)位置:
m.position = (800,600) # 將鼠標(biāo)移動(dòng)到指定位置
print(f'鼠標(biāo)位置為:{m.position}') # 打印鼠標(biāo)位置
2.??相對(duì)位置:
m.move(100,100) # 以(0,0)或上一個(gè)position的位置為準(zhǔn)
print(f'鼠標(biāo)位置為:{m.position}') #打印鼠標(biāo)位置
第四步:模擬鼠標(biāo)按鍵:
- ??單擊左鍵:
??方式一:
m.press(mouse.Button.left) # 按下鼠標(biāo)左鍵(單擊)
m.release(mouse.Button.left) # 松開鼠標(biāo)左鍵
??補(bǔ):使用press+position+release可實(shí)現(xiàn)拖拽功能
??注意:使用press按下后,必須要使用release松開。否則相對(duì)于現(xiàn)實(shí)中操作鼠標(biāo)一直按下左鍵不松手
??方式二:
m.click(mouse.Button.left, 1) # 單擊鼠標(biāo)左鍵
?? 區(qū)別:直接完成了一次點(diǎn)擊松手操作。
- ??單擊右鍵:
??方式一:
m.press(mouse.Button.right) # 按下鼠標(biāo)右鍵(單擊)
m.release(mouse.Button.right) # 松開鼠標(biāo)右鍵
??方式二:
m.click(mouse.Button.right, 1) # 單擊鼠標(biāo)右鍵
- ??雙擊:
m.click(mouse.Button.left, 2) # 雙擊(左鍵)
- ??鼠標(biāo)滾輪:
類似于上述將的position,x軸坐標(biāo)增加往右移動(dòng),x軸坐標(biāo)減小往左移動(dòng)。y軸坐標(biāo)增加往下移動(dòng),y軸坐標(biāo)減小往上移動(dòng)。
x軸使用較少,絕大部分頁面不會(huì)出現(xiàn)左右滾動(dòng)條。
m.scroll(0,2) # 向下移動(dòng)
??完整代碼??:
from pynput import mouse # 導(dǎo)入mouse模塊
m = mouse.Controller() # 創(chuàng)建一個(gè)鼠標(biāo)
m.position = (800,600) # 將鼠標(biāo)移動(dòng)到指定位置
print(f'鼠標(biāo)位置為:{m.position}') # 打印鼠標(biāo)位置
m.move(100,100) # 相對(duì)于(800,600)在移動(dòng)(100,100)
print(f'鼠標(biāo)位置為:{m.position}') # 打印鼠標(biāo)位置
# 方式一
# m.press(mouse.Button.left) # 按下鼠標(biāo)左鍵(單擊)
# m.release(mouse.Button.left) # 松開鼠標(biāo)左鍵
# 方式二
m.click(mouse.Button.left, 1) # 單擊鼠標(biāo)左鍵
m.press(mouse.Button.right) # 按下鼠標(biāo)右鍵(單擊)
m.release(mouse.Button.right) # 松開鼠標(biāo)右鍵
m.click(mouse.Button.right, 1) # 單擊鼠標(biāo)右鍵
# 雙擊
m.click(mouse.Button.left, 2) # 雙擊(左鍵)
m.scroll(0,2) # x 左右滾動(dòng), y 上
3??鍵盤控制與輸入
?第一步:為了鍵盤輸入,所以需要從pynput中導(dǎo)入keyboard模塊。
from pynput import keyboard # 導(dǎo)入keyboard模塊
?第二步:使用Controller()方法。
k = keyboard.Controller() # 創(chuàng)建一個(gè)鍵盤
?第三步:模擬按鍵
k.press('a') # 按下a
k.release('a') # 松開a
??注意:引號(hào)內(nèi)可以是任意字符包括漢字,但只能是單個(gè)。后續(xù)會(huì)教大家輸入一句話。
?第四步:按特殊鍵(空格,shift等)
k.press(keyboard.Key.space) # 按下空格鍵
k.release(keyboard.Key.space) # 松開空格鍵
k.press(keyboard.Key.shift) # 按下shift鍵
k.release(keyboard.Key.shift) # 松開shift鍵
?第五步:輸入一句話
k.type('Hello everybody!')
??完整代碼??:
from pynput import keyboard # 導(dǎo)入keyboard模塊
k = keyboard.Controller() # 創(chuàng)建一個(gè)鍵盤
k.press('a') # 按下a
k.release('a') # 松開a
k.press(keyboard.Key.space) # 按下空格鍵
k.release(keyboard.Key.space) # 松開空格鍵
k.press(keyboard.Key.shift) # 按下shift鍵
k.release(keyboard.Key.shift) # 松開shift鍵
k.type('Hello everybody!')
4??結(jié)語??
如果你學(xué)會(huì)了這些還不知道用pynput來干什么。那我教你可以實(shí)現(xiàn)打開應(yīng)用,自動(dòng)瀏覽網(wǎng)頁,與女朋友微信聊天等。應(yīng)用程序是無限的,你可以使用這種方法構(gòu)建任何類型的自動(dòng)化工具。文章來源:http://www.zghlxwxcb.cn/news/detail-407736.html
??打開軟件代碼分享:https://blink.csdn.net/details/1511416
??微信發(fā)送信息代碼分享: https://blink.csdn.net/details/1511454文章來源地址http://www.zghlxwxcb.cn/news/detail-407736.html
到了這里,關(guān)于Python 有趣的模塊之pynupt——通過pynput控制鼠標(biāo)和鍵盤的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!