Python 實(shí)現(xiàn)鍵盤鼠標(biāo)按鍵模擬
有時(shí)候我們需要使用python執(zhí)行一些腳本,可能需要讓程序自動(dòng)按鍵或自動(dòng)點(diǎn)擊鼠標(biāo),下面的代碼實(shí)現(xiàn)了對(duì)鍵盤的模擬按鍵,
需要安裝pypiwin32,當(dāng)然也可以直接用ctypes來實(shí)現(xiàn)。
pip install pypiwin32
安裝pypiwin32。
鍵盤模擬
# coding=utf-8 import win32con import win32api import time key_map = { "0": 49, "1": 50, "2": 51, "3": 52, "4": 53, "5": 54, "6": 55, "7": 56, "8": 57, "9": 58, "A": 65, "B": 66, "C": 67, "D": 68, "E": 69, "F": 70, "G": 71, "H": 72, "I": 73, "J": 74, "K": 75, "L": 76, "M": 77, "N": 78, "O": 79, "P": 80, "Q": 81, "R": 82, "S": 83, "T": 84, "U": 85, "V": 86, "W": 87, "X": 88, "Y": 89, "Z": 90 } def key_down(key): """ 函數(shù)功能:按下按鍵 參 數(shù):key:按鍵值 """ key = key.upper() vk_code = key_map[key] win32api.keybd_event(vk_code,win32api.MapVirtualKey(vk_code,0),0,0) def key_up(key): """ 函數(shù)功能:抬起按鍵 參 數(shù):key:按鍵值 """ key = key.upper() vk_code = key_map[key] win32api.keybd_event(vk_code, win32api.MapVirtualKey(vk_code, 0), win32con.KEYEVENTF_KEYUP, 0) def key_press(key): """ 函數(shù)功能:點(diǎn)擊按鍵(按下并抬起) 參 數(shù):key:按鍵值 """ key_down(key) time.sleep(0.02) key_up(key)
鼠標(biāo)模擬
# coding=utf-8 import win32api import win32con import win32gui def move(x, y): """ 函數(shù)功能:移動(dòng)鼠標(biāo)到指定位置 參 數(shù):x:x坐標(biāo) y:y坐標(biāo) """ win32api.SetCursorPos((x, y)) def get_cur_pos(): """ 函數(shù)功能:獲取當(dāng)前鼠標(biāo)坐標(biāo) """ p={"x":0,"y":0} pos = win32gui.GetCursorPos() p['x']=pos[0] p['y']=pos[1] return p def left_click(): """ 函數(shù)功能:鼠標(biāo)左鍵點(diǎn)擊 """ win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN | win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) def right_click(): """ 函數(shù)功能:鼠標(biāo)右鍵點(diǎn)擊 """ win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN | win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0) def left_down(): """ 函數(shù)功能:鼠標(biāo)左鍵按下 """ win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) def left_up(): """ 函數(shù)功能:鼠標(biāo)左鍵抬起 """ win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) def right_down(): """ 函數(shù)功能:鼠標(biāo)右鍵按下 """ win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0) def right_up(): """ 函數(shù)功能:鼠標(biāo)右鍵抬起 """ win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
以上就是Python 實(shí)現(xiàn)鍵盤按鍵模擬的詳細(xì)內(nèi)容,更多關(guān)于Python 鍵盤按鍵模擬的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python爬蟲之Selenium實(shí)現(xiàn)鍵盤事件
這篇文章主要介紹了Python爬蟲之Selenium實(shí)現(xiàn)鍵盤事件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Python實(shí)現(xiàn)識(shí)別手寫數(shù)字 簡易圖片存儲(chǔ)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)識(shí)別手寫數(shù)字,簡易圖片存儲(chǔ)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01使用python?dateutil庫輕松處理日期和時(shí)間
這篇文章主要介紹了使用python?dateutil庫輕松處理日期和時(shí)間實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python數(shù)據(jù)庫格式化輸出文檔的思路與方法
這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)庫格式化輸出文檔的思路與方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03