python在程序中模拟键盘鼠标操作
? Python中模擬鍵盤(pán)和鼠標(biāo)最著名的模塊是:pymouse?和?pykeyboard。一次安裝兩個(gè)模塊比較麻煩,而有一個(gè)庫(kù)整合了這兩個(gè)模塊,而且能支持跨平臺(tái)操作,這個(gè)庫(kù)叫?PyUserInput,通過(guò)安裝 PyUserInput 就可以直接得到?pymouse?和?pykeyboard。還有一個(gè)自動(dòng)化模塊是pyautogui。
1.準(zhǔn)備
PyUserInput 在不同系統(tǒng)下的安裝需要使用不同的依賴:
- Linux - Xlib (python-xlib)
- Mac - Quartz, AppKit
- Windows - pywin32, pyHook
在終端輸入以下命令安裝我們所需要的依賴模塊:
pip install PyUserInput看到 Successfully installed xxx 則說(shuō)明安裝成功。
?
Windows系統(tǒng)下如果出現(xiàn)如以下的紅色字體提示則需要安裝pyHook:
No matching distribution found for pyHook (from PyUserInput)
1.安裝pyHook需要前往
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook
找到你的Python版本對(duì)應(yīng)的pyHook安裝包。
2.輸入一下命令安裝該whl文件:
pip install pyHook-1.5.1-cp37-cp37m-win_amd64.whl注意需要在下載好的文件所在目錄輸入命令。
3.出現(xiàn)Successfully installed pyHook-1.5.1則說(shuō)明安裝成功。
如果出現(xiàn)缺少pywin32依賴,或者pywin32無(wú)法正常使用,請(qǐng)前往:
https://github.com/mhammond/pywin32/releases
下載對(duì)應(yīng)版本的pywin32安裝包,這里的安裝包是exe程序,直接雙擊安裝即可。
安裝pywin32的時(shí)候如果出現(xiàn)這樣的錯(cuò)誤(借他人圖):
是因?yàn)槟愕腜ython沒(méi)有被寫(xiě)入到注冊(cè)表,需要將注冊(cè)表寫(xiě)入Python,執(zhí)行下方代碼就可成功注冊(cè):
import sys from winreg import *# tweak as necessary version = sys.version[:3] installpath = sys.prefixregpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version) installkey = "InstallPath" pythonkey = "PythonPath" pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (installpath, installpath, installpath)def RegisterPy():try:reg = OpenKey(HKEY_CURRENT_USER, regpath)except EnvironmentError as e:try:reg = CreateKey(HKEY_CURRENT_USER, regpath)SetValue(reg, installkey, REG_SZ, installpath)SetValue(reg, pythonkey, REG_SZ, pythonpath)CloseKey(reg)except:print("*** Unable to register!")returnprint("--- Python", version, "is now registered!")returnif (QueryValue(reg, installkey) == installpathand QueryValue(reg, pythonkey) == pythonpath):CloseKey(reg)print("=== Python", version, "is already registered!")returnCloseKey(reg)print("*** Unable to register!")print("*** You probably have another Python installation!")if __name__ == "__main__":RegisterPy()注冊(cè)完畢后就可以正常安裝pywin32了,然后再重新安裝 PyUserInput 即可。macOS和Linux在安裝的時(shí)候應(yīng)該不會(huì)遇到太大問(wèn)題,如果有遇到問(wèn)題可以先搜索一下,網(wǎng)上解決方案都很全,或者在本文下方留言求解。
2.基本使用
pymouse模塊相對(duì)簡(jiǎn)單,你只需要記以下幾個(gè)函數(shù)即可滿足基本的使用需求,如
1.鼠標(biāo)移動(dòng):
from pymouse import PyMouse# 初始化鼠標(biāo)對(duì)象 m = PyMouse()# 移動(dòng)鼠標(biāo)到(x, y)絕對(duì)地址 m.move(200, 200)2.中鍵滾動(dòng):
from pymouse import PyMouse# 初始化鼠標(biāo)對(duì)象 m = PyMouse()# 中鍵垂直滾動(dòng) 10個(gè)單位 m.scroll(10, 0)3.鼠標(biāo)點(diǎn)擊:
from pymouse import PyMouse# 初始化鼠標(biāo)對(duì)象 m = PyMouse()# 鼠標(biāo)點(diǎn)擊(500, 300), 第三個(gè)參數(shù)代表鍵位,1是左鍵,2是右鍵,3是中鍵 m.click(500, 300, 1)4.鼠標(biāo)拖拽:
from pymouse import PyMouse# 初始化鼠標(biāo)對(duì)象 m = PyMouse()# 鼠標(biāo)從當(dāng)前位置拖拽到(500, 300) m.drag(500, 300)5. 獲得當(dāng)前屏幕大小:
from pymouse import PyMouse# 初始化鼠標(biāo)對(duì)象 m = PyMouse()# 當(dāng)前屏幕大小 m.screen_size()6. 獲得鼠標(biāo)當(dāng)前位置:
from pymouse import PyMouse# 初始化鼠標(biāo)對(duì)象 m = PyMouse()# 當(dāng)前位置 m.position()只要記住以上幾個(gè)方法,pymouse模塊你就掌握了。
接下來(lái)是比較復(fù)雜的pykeyboard模塊:
1. 鍵入字符串:
from pykeyboard import PyKeyboard# 初始化鍵盤(pán)對(duì)象 k = PyKeyboard()# 鍵入Hello, World! k.type_string('Hello, World!')2. 按下按鍵與釋放按鍵:
from pykeyboard import PyKeyboard# 初始化鍵盤(pán)對(duì)象 k = PyKeyboard()# 按下H鍵 k.press_key('H')# 釋放H鍵 k.release_key('H')# 你也可以使用tap_key函數(shù)直接實(shí)現(xiàn)按下和釋放 k.tap_key('H')# 支持自定義按下次數(shù)和其間隔時(shí)間,單位:秒 k.tap_key('l',n=2,interval=5)3. 特殊按鍵的輸入:
from pykeyboard import PyKeyboard# 初始化鍵盤(pán)對(duì)象 k = PyKeyboard()# 按住alt鍵 k.press_key(k.alt_key) # tab鍵 k.tap_key(k.tab_key) # 釋放alt鍵 k.release_key(k.alt_key)# F5鍵 k.tap_key(k.function_keys[5]) # Home鍵 k.tap_key(k.numpad_keys['Home']) # 按數(shù)字5三次 k.tap_key(k.numpad_keys[5], n=3)?
模塊的一些應(yīng)用:
看鼠標(biāo)軟件可以查看當(dāng)前屏幕的坐標(biāo),軟件下載:
https://pythondict.com/go/?url=http://www.cadgj.com/wp-content/uploads/2013/07/mousexy.exe
總結(jié)
以上是生活随笔為你收集整理的python在程序中模拟键盘鼠标操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用AzureFunction开发最简单
- 下一篇: python-opencv控制鼠标操作