日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python在程序中模拟键盘鼠标操作

發(fā)布時(shí)間:2023/12/9 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python在程序中模拟键盘鼠标操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? 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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。