您當前的位置:首頁 > 動漫

今天玩點啥:利用python之PyUserInput實現模擬滑鼠鍵盤操作,搶紅包?聊天?自動下載?

作者:由 安子塵 發表于 動漫時間:2019-06-14

一、PyUserInput安裝

python3。5的PyMouse和PyKeyboard模組都整合到了PyUserInput模組中。在python3。5中,直接安裝PyUserInput模組即可

PyUserInput模組安裝前需要安裝pywin32和pyHook模組

pywin32模組預設已安裝

pyHook模組可從這裡下載

http://www。

lfd。uci。edu/~gohlke/pyt

honlibs/

//在python官網找了很多個pyHook都不適用於python3。5版本

PyUserInput模組

https://

github。com/PyUserInput/

PyUserInput

二、使用方法

//匯入模組

import pymouse,pykeyboard,os,sys

from pymouse import PyKeyboard

from pykeyboard import PyKeyboard

//分別定義一個例項

m = PyMouse()

k = PyKeyboard()

滑鼠操作:

m。click(x,y,button,n) #滑鼠點選

x,y 是座標位置

buttong 1表示左鍵,2表示點選右鍵

n 點選次數,預設是1次,2表示雙擊

m。move(x,y) –滑鼠移動到座標(x,y)

x_dim, y_dim = m。screen_size() –獲得螢幕尺寸

鍵盤操作:

k。type_string(‘Hello, World!’) #模擬鍵盤輸入字串

k。press_key(‘H’)#模擬鍵盤按H鍵

k。release_key(‘H’) #模擬鍵盤松開H鍵

k。tap_key(“H”)#模擬點選H鍵

k。tap_key(‘H’,n=2,interval=5) #模擬點選H鍵,2次,每次間隔5秒

k。tap_key(k。function_keys[5]) #點選windows的功能鍵F5

k。tap_key(k。numpad_keys[5],3) #點選windows的小鍵盤5,3次

#聯合按鍵模擬

#例如同時按alt+tab鍵盤

k。press_key(k。alt_key) #按住windows的alt鍵

k。tap_key(k。tab_key) #點選windows的tab鍵

k。release_key(k。alt_key) #鬆開windows的alt鍵

上面是windows鍵的基本操作方法,macos與之類似,區別在於macos的特殊功能鍵對應的鍵位名稱不同,具體請參照下方原始碼

下面macos系統為例寫一個完整的demo:

import os

from pykeyboard import PyKeyboard#鍵盤輸入元件

from pymouse import PyMouse#滑鼠輸入元件

import time

import random

import pyperclip #系統剪下板元件

def someHello(num):

list = [‘a’, ‘b’,‘c’, ‘d’,‘e’, ‘f’, ‘g’, ‘h’,‘i’, ‘j’,‘k’,‘l’,‘m’,‘n’,‘o’,‘p’,‘q’,‘r’,‘s’,‘t’,‘u’,‘v’,‘w’,‘x’,‘y’,‘z’]

slice = random。sample(list, num) # 從list中隨機獲取5個元素,作為一個片斷返回

return slice

def someString():

re=[‘知道啦’,‘好的’,‘呵呵。。。。。你是魔鬼嗎’,‘恩恩,你說的都對’,‘可愛的人說話之前會先發個紅包’,‘聽說紅包會讓你喜歡的人回覆你的機率增加99%啊’,‘噓,小聲說話,你吵到我了’]

rp=[‘回覆‘段子’讓我開始給你講段子吧’,‘要不回覆‘新聞’看看今天這個世界又發生了些啥吧’,‘想獲取天氣預報?請回復”天氣+城市“,例如”廣州天氣“即可’,‘不知道今天晚飯吃什麼,回覆‘菜譜’讓我告訴你吧’,]

return (re[random。randint(0,len(re)-1)]+‘,’+rp[random。randint(0,len(rp)-1)])

def run(interval, num):

while True:

try:

m = PyMouse()

time。sleep(interval)

print(‘滑鼠當前位置為’+str(m。position()))

# x=2046。79296875

# y=758。3203125

# m。position()#獲取當前座標的位置

# m。move(x,y)#滑鼠移動到xy位置

# #m。click(x,y)#移動並且在xy位置點選

# m。click(x,y,1|1)#移動並且在xy位置點選,左鍵雙擊

# time。sleep(2)

# x=2080。76953125

# y=276。87890625

# m。position()#獲取當前座標的位置

# m。move(x,y)#滑鼠移動到xy位置

# #m。click(x,y)#移動並且在xy位置點選

# m。click(x,y,1|2)#移動並且在xy位置點選,左鍵雙擊

# time。sleep(2)

x=2045。671875

y=825。984375

m。position()#獲取當前座標的位置

m。move(x,y)#滑鼠移動到xy位置

m。click(x,y)#移動並且在xy位置點選

k = PyKeyboard()

hello=someHello(num)

print(num)

k。type_string(hello) #模擬鍵盤輸入字串

k。tap_key(‘Space’) #模擬點選Space鍵

strs=someString()

pyperclip。copy(strs)

spam = pyperclip。paste()

print(spam)

k。press_key(‘Command’) #模擬長按Command鍵

k。tap_key(‘V’) #模擬點選v鍵

k。release_key(‘Command’) #模擬釋放Command鍵

k。tap_key(‘Return’) #模擬點選Return鍵

except Exception as e:

print (e)

if __name__==“__main__”:

interval =3

run(interval, 10)

標簽: Key  點選  Tap  xy  模擬