
一、PyUserInput安装
python3.5的PyMouse和PyKeyboard模块都集成到了PyUserInput模块中。在python3.5中,直接安装PyUserInput模块即可
PyUserInput模块安装前需要安装pywin32和pyHook模块
pywin32模块默认已安装
pyHook模块可从这里下载 http://www.lfd.uci.edu/~gohlke/pythonlibs/
//在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)版权声明:本文为weixin_34112399原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。