用Python實(shí)現(xiàn)控制電腦鼠標(biāo)
一、序言
使用python控制按鍵無疑非常重要的技能,特別是結(jié)合機(jī)器視覺更是能發(fā)揮出超強(qiáng)的實(shí)力!
二、配置環(huán)境
1.下載pyautogui包
pip install pyautogui -i https://pypi.tuna.tsinghua.edu.cn/simple/
注:如果有可能,可以在pycharm中進(jìn)行以下Python控制的鼠標(biāo)和鍵盤的測試與學(xué)習(xí)。
二、鼠標(biāo)控制
注:由于這部分功能我不能通過截屏來顯著表現(xiàn)出來,在程序運(yùn)行結(jié)果就不截屏了,保持界面整潔
1、獲取鼠標(biāo)位置函數(shù)以及測試源碼
#獲取鼠標(biāo)位置
import pyautogui as pg #沒別的作用就單純換個名字
try:
while True:
x,y=pg.position() #核心函數(shù)pg.position()
print(str(x)+" "+str(y)) #輸出鼠標(biāo)的x,y
except KeyboardInterrupt:
print("\n")
程序功能:
實(shí)時輸出當(dāng)前鼠標(biāo)位置
核心函數(shù):
| 函數(shù)名 | 功能 |
|---|---|
| pyautogui .position() | 返回當(dāng)前鼠標(biāo)的x,y坐標(biāo)。 |
核心代碼:
換名:第2行 import pyautogui as pg輸出鼠標(biāo)位置:第5~6行
x,y=pg.position() #核心函數(shù)pg.position()
print(str(x)+" "+str(y)) #輸出鼠標(biāo)的x,y
2、控制鼠標(biāo)左擊/右擊/雙擊函數(shù)以及測試源碼
# 獲取鼠標(biāo)位置
import pyautogui as pg
try:
while True:
x, y = pg.position()
print(str(x) + " " + str(y)) #輸出鼠標(biāo)位置
if 1746 < x < 1800 and 2 < y < 33:
pg.click()#左鍵單擊
if 1200 < x < 1270 and 600 < y < 620:
pg.click(button='right')#右鍵單擊
if 1646 < x < 1700 and 2 < y < 33:
pg.doubleClick()#左鍵雙擊
except KeyboardInterrupt:
print("\n")
a.程序功能
在輸出鼠標(biāo)位置的基礎(chǔ),分別設(shè)置了三個區(qū)域,當(dāng)鼠標(biāo)達(dá)到這三個區(qū)域時候,進(jìn)行左鍵單擊、右鍵單擊,左鍵雙擊。
b.核心函數(shù)
| 函數(shù)名 | 功能 |
|---|---|
| pyautogui.click() | 鼠標(biāo)左鍵單擊 |
| pyautogui.click(button=‘right’) | 鼠標(biāo)右鍵單擊 |
| pyautogui.doubleClick() | 鼠標(biāo)左鍵雙擊 |
c.核心代碼
1、觸發(fā)某事件就控制鼠標(biāo)點(diǎn)擊:第9~14行
注:click()函數(shù)默認(rèn):button=‘left’
3、控制鼠標(biāo)移動/拖動
# 3、控制鼠標(biāo)移動/拖動demo
import pyautogui as pg
try:
while True:
x, y = pg.position()
print(str(x) + " " + str(y)) #輸出鼠標(biāo)位置
#實(shí)現(xiàn)鼠標(biāo)絕對移動功能
if 1011 < x < 1357 and 320 < y < 527:
pg.moveTo(1750, 20, 2)#花2s從當(dāng)前位置移動到(1750,20)
pg.click() # 左鍵單擊
#實(shí)現(xiàn)鼠標(biāo)相對移動功能
if 600 < x < 1000 and 305 < y < 425:
pg.move(0, 200) # 基于當(dāng)前位置瞬間向下移動200像素
#實(shí)現(xiàn)鼠標(biāo)拖動功能
if 1142<x<1391 and y<25:
pg.dragTo(300, 400, 2, button='left') #花2s從當(dāng)前位置拖到(300,400)
except KeyboardInterrupt:
print("\n")
a.程序功能
在輸出鼠標(biāo)位置的基礎(chǔ),分別設(shè)置了三個區(qū)域,當(dāng)鼠標(biāo)達(dá)到這三個區(qū)域時候,分別進(jìn)行絕對移動,相對移動,鼠標(biāo)拖動三個運(yùn)行演示。
注:在運(yùn)行代碼全,將Pycharm全屏演示效果更好哦
b.核心函數(shù)
| 函數(shù)名 | 功能 |
|---|---|
| pyautogui.moveTo() | 鼠標(biāo)絕對移動 |
| pyautogui.move() | 鼠標(biāo)相對移動 |
| pyautogui.dragTo() | 鼠標(biāo)絕對拖動 |
c.核心代碼
1、觸發(fā)某事件就控制鼠標(biāo)移動/拖動:第9~19行
注:click()函數(shù)默認(rèn):button=‘left’
4、控制鼠標(biāo)滾輪滾動
import pyautogui as pg # 執(zhí)行鼠標(biāo)滾輪的滾動。垂直滾動還是水平滾動取決于底層操作系統(tǒng)。 pg.scroll(100) # scroll up 50 "clicks"
注:是的就兩行,如果你是放在上面中使用,應(yīng)該算只要一行就可以實(shí)現(xiàn)了。
總結(jié)
到此這篇關(guān)于用Python實(shí)現(xiàn)控制電腦鼠標(biāo)的文章就介紹到這了,更多相關(guān)Python控制鼠標(biāo)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用pymysql查詢數(shù)據(jù)庫,把結(jié)果保存為列表并獲取指定元素下標(biāo)實(shí)例
這篇文章主要介紹了使用pymysql查詢數(shù)據(jù)庫,把結(jié)果保存為列表并獲取指定元素下標(biāo)實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python使用re模塊實(shí)現(xiàn)okenizer(表達(dá)式分詞器)
這篇文章主要介紹了Python使用re模塊實(shí)現(xiàn)okenizer,我們這里講解用正則表達(dá)式構(gòu)建簡單的表達(dá)式分詞器(tokenizer),它能夠?qū)⒈磉_(dá)式字符串從左到右解析為標(biāo)記(tokens)流,需要的朋友可以參考下2022-04-04
Python使用base64模塊進(jìn)行二進(jìn)制數(shù)據(jù)編碼詳解
這篇文章主要介紹了Python使用base64模塊進(jìn)行二進(jìn)制數(shù)據(jù)編碼詳解,具有一定借鑒價值,需要的朋友可以參考下2018-01-01

