首頁 > 軟體

Python利用PyAutoGUI模組實現控制滑鼠鍵盤

2022-06-15 10:00:26

前言

PyAutoGUI是一個簡單易用,跨平臺的可以模擬鍵盤滑鼠進行自動操作的python庫。

使用pip的方式安裝pyautogui模組

pip install pyautogui

pyautogui在使用的時候有兩個比較關鍵的隱患(程式在啟動起來以後很難關閉)需要注意一下。一是滑鼠出現在螢幕的最上方會出現報錯,二是鍵盤的自動操作太快,所以需要先設定一下相關的引數。

import pyautogui as ui  # 匯入pyautogui程式碼塊

ui.FAILSAFE = False  # 關閉自動防禦故障的功能
ui.PAUSE = 1  # 設定鍵盤操作的時候停頓間隔時間為1秒

1、滑鼠的相關控制

'''獲取螢幕解析度'''
print(ui.size())
# Size(width=1920, height=1080)
# 螢幕分標率:寬:1920px、高:1080px

'''移動滑鼠到指定位置'''
ui.moveTo(250, 400, duration=1)  # duration 引數設定移動到指定位置的時間為1秒鐘

'''按方向移動滑鼠'''
ui.moveRel(200, 300, duration=2)  # 滑鼠向右移動200px、向下移動300px,移動時間為2秒鐘

'''獲取當前滑鼠的位置'''
print(ui.position())
# Point(x=450, y=700)

'''單擊滑鼠'''
ui.click(200, 200, button='left')  # 在螢幕200px,200px的位置點選滑鼠左鍵
ui.click(200, 200, button='right')  # 在螢幕200px,200px的位置點選滑鼠右鍵
ui.click(200, 200, button='middle')  # 在螢幕200px,200px的位置點選滑鼠中鍵

'''雙擊滑鼠'''
ui.doubleClick(200, 200)  # 在螢幕200px,200px的位置雙擊滑鼠左鍵
ui.rightClick(200, 200)  # 在螢幕200px,200px的位置雙擊滑鼠右鍵
ui.middleClick(200, 200)  # 在螢幕200px,200px的位置雙擊滑鼠中鍵

'''按下與釋放滑鼠'''
ui.mouseDown()  # 按下滑鼠
ui.mouseUp()  # 釋放滑鼠

'''拖動滑鼠'''
ui.dragTo(200, 300, duration=1)  # 拖動滑鼠到指定位置
ui.dragRel(200, 300, duration=4)  # 按方向拖動滑鼠

'''捲動滑鼠'''
ui.scroll(450)  # 向上捲動450個畫素單位

2、鍵盤的相關控制

'''
pyautogui.keyDown() : 模擬按鍵按下;
pyautogui.keyUp() : 模擬按鍵釋放;
pyautogui.press() : # 就是呼叫keyDown() & keyUp(),模擬一次按鍵;
pyautogui.typewrite('this',0.5) : 第一引數是輸入內容,第二個引數是每個字元間的間隔時間;
pyautogui.typewrite(['T','h','i','s']):typewrite 還可以傳入單字母的列表;
'''

ui.keyDown('ctrl')  # 按下ctrl鍵
ui.press('Y')  # 按一下Y鍵
ui.keyUp('ctrl')  # 釋放ctrl鍵

ui.typewrite('YYDS', 0.5)  # 輸入YYDS的字串,每個字元之間的時間間隔是0.5秒

'''一些特定鍵的使用'''

# 可以使用typewrite函數呼叫類似於enter的特殊按鍵
ui.typewrite(['enter'])  # 模擬按一次enter鍵

'''
鍵盤字串	說明
enter(或return 或 n)	回車
esc	ESC鍵
shiftleft, shiftright	左右SHIFT鍵
altleft, altright	左右ALT鍵
ctrlleft, ctrlright	左右CTRL鍵
tab (t)	TAB鍵
backspace, delete	BACKSPACE 、DELETE鍵
pageup, pagedown	PAGE UP 和 PAGE DOWN鍵
home, end	HOME 和 END鍵
up, down, left,right	箭頭鍵
f1, f2, f3…. f12	F1…….F12鍵
volumemute, volumedown,volumeup	聲音變大變小靜音(有些鍵盤沒有)
pause	PAUSE鍵,暫停鍵
capslock	CAPS LOCK 鍵
numlock	NUM LOCK 鍵
scrolllock	SCROLLLOCK 鍵
insert	INSERT鍵
printscreen	PRINT SCREEN鍵
winleft, winright	Win鍵(windows )
command	command鍵(Mac OS X )
option	option(Mac OS X)
'''

可以根據上面的按鍵處理列表對應的字串來使用typewrite函數處理特殊按鍵。

ui.typewrite(['esc'])  # 模擬按一下esc鍵

'''快捷鍵的模擬處理'''

# 程式猿神器:CV大法
ui.hotkey('ctrl','c')  # ctrl + c
ui.hotkey('ctrl','v')  # ctrl + v

也可以使用傳統的方式挨個按鍵,最後就組合成了的快捷鍵

# 模擬程式碼格式化快捷鍵ctrl + alt +l
ui.keyDown('ctrl')
ui.keyDown('alt')
ui.keyDown('l')

# 挨個釋放這幾個鍵
ui.keyUp('l')
ui.keyUp('alt')
ui.keyUp('ctrl')

到此這篇關於Python利用PyAutoGUI模組實現控制滑鼠鍵盤的文章就介紹到這了,更多相關Python PyAutoGUI控制滑鼠鍵盤內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com