python模拟按键包_今天玩点啥:利用python之PyUserInput实现模拟鼠标键盘操作,抢红包?聊天?自动下载?...
一、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版本
二、使用方法
//导入模块
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)
python模拟按键包_今天玩点啥:利用python之PyUserInput实现模拟鼠标键盘操作,抢红包?聊天?自动下载?...相关推荐
- python 数据科学 包_什么时候应该使用哪个Python数据科学软件包?
python 数据科学 包 Python is the most popular language for data science. Unfortunately, it can be tricky ...
- python编程资料包_强力推荐,非常全的Python编程400集学习资料(今日限免)
因为大数据和 AI,Python 一跃成为最火的语言,这里推荐几本畅销排行榜上的好书. 有需要在我的哔哩哔哩账号,私信我,"资料,即可免费领取. 一.Python基础教程 <图灵程序设 ...
- python画圆形螺旋线_硬核教程,利用 Python 搞定精美网络图!
硬核教程, 利用 Python 搞定精美网络图! 一.NetworkX 概述 NetworkX 是一个用 Python 语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进 ...
- python canvas画弧度_编程作战丨如何利用python绘制可爱皮卡丘?
好莱坞真人电影<精灵宝可梦:大侦探皮卡丘>预告片已经发布了,正片将于今年5月10日上映. 如果要做一个「童年梦想排行榜」的话,相信「拥有一只皮卡丘」这个梦想一定会名列前茅! 毕竟,谁不想揉 ...
- 利用python 对比相似度_牛逼了,利用Python实现“天眼系统”,只要照片就能了解个人信息...
前言 在有一些电影里面,特别是科幻高科技电影里面经常出现的一幕,获得某人的照片然后进行各种数据对比,然后找出这个人的个人信息:姓名.年龄.性别.工作等等. 理论上:你可以建立一个你感兴趣的百万级的数据 ...
- python wx包_今天玩点啥:python真香系列之利用wxpy包写一个微信消息自动回复插件...
阅读本文假设你本地已经安装了Python3基础环境. 安装wxpy模块: pip3 install wxpy 添加以下代码即可实现扫码登录 # 导入模块 from wxpy import * # 初始 ...
- 怎么抓python程序的包_如何在AWS上部署python应用程序
如何在AWS上部署python应用程序,学姐呕心沥血亲自总结,亲测有效,比网上看网上大把大把的文档要快得多! 作者:蕾学姐 亚马逊云计算服务(Amazon Web Services,缩写为AWS),由 ...
- 实战python网络爬虫豆瓣_三分钟教会你利用Python爬虫实现豆瓣电影采集(实战篇)...
一.项目背景 豆瓣电影提供最新的电影介绍及评论包括上映影片的影讯查询及购票服务.可以记录想看.在看和看过的电影电视剧 .顺便打分.写影评.极大地方便了人们的生活. 今天小编以电视剧(美剧)为例,批量爬 ...
- python截图工具和模拟鼠标键盘_python PyAutoGUI 模拟鼠标键盘操作和截屏功能
简介 一款跨平台/无依赖的自动化测试工具,目测只能控制鼠标/键盘/获取屏幕尺寸/弹出消息框/截屏. 安装 pip install pyautogui 鼠标键盘控制 >>> impor ...
最新文章
- 再次认识 vertical-align
- 【深度学习】用于小目标检测的一个简单高效的网络
- 更新Silverlight ctp到Silverlight beta 1.0
- linux 看硬盘运行时间长,Ubuntu 14.04查看硬盘使用时间
- linux应用程序文件丢失,详谈Ubuntu软件管理丢失的功能
- 线程池与Callable更配哦
- 用遗传算法进行智能排课,相信老师会很喜欢
- (39)VHDL实现移位寄存器(方法1)
- H3C IGP与EGP
- 阿里云 部署并开启nodejs应用
- Error: Could not open connection to jdbc:hive2://master:10000: java.net.ConnectException: Connection
- 三层交换机和链路聚合
- 如果命运是一条孤独的河流,谁会是你的灵魂摆渡人
- c语言助手,C语言代码实例助手
- 第一章 Web应用开发简介
- VS2013 VS2015应用程序无法正常启动0xc000007b。
- Telink TLSR9213 使用JTag方式不能正确连接,烧写失败的问题
- office2007打开word提示《向程序发送命令时出现问题》
- Snaker工作流学习(一)
- 二维码生成(带文字)
热门文章
- 纯文本、富文本、超文本
- 计算机网络教室后黑板报,教室后黑板报设计图
- Excel百宝箱ET特别版
- 福州市2020计算机专业高中排名,2019-2020全国计算机专业大学排名
- 想把语音转成文字,就这样做
- 修改element-ui默认的开关样式
- MySQL报错:Incorrect string value: '\xE6\x9D\x82\xE8\xB4\xA7...' for column
- Unity3d Android SDK接入解析(四)通用的Android SDK接入中间件
- 计算分辨率长宽比(等比例缩放)
- 复杂网络的学习——抗毁性