1、PyUserInput 简介

PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方便使用。支持的平台及依赖如下:

  • Linux - Xlib
  • Mac - Quartz, AppKit
  • Windows - pywin32, pyHook

支持python版本:我用的是3.6.7

2、安装

直接源码安装,python3加持:

git clone https://github.com/PyUserInput/PyUserInput.git
cd PyUserInput
sudo python3 setup.py install

注: 推荐用python3

3、入门

实例化一个鼠标和键盘对象:

from pymouse import PyMouse
from pykeyboard import PyKeyboard m = PyMouse()
k = PyKeyboard()

点击屏幕中间并输入"hello world":

x_dim, y_dim = m.screen_size()
m.click(x_dim//2, y_dim//2, 1) #取整除 - 向下取接近除数的整数
k.type_string('Hello, World!')

PyKeyboard支持多种输入方法:

# pressing a key
k.press_key('H')
# which you then follow with a release of the key
k.release_key('H')
# or you can 'tap' a key which does both
k.tap_key('e')
# note that that tap_key does support a way of repeating keystrokes with a interval time between each
k.tap_key('l',n=2,interval=5)
# and you can send a string if needed too
k.type_string('o World!')

并且支持各种特殊的按键输入:

#Create an Alt+Tab combo
k.press_key(k.alt_key)
k.tap_key(k.tab_key)
k.release_key(k.alt_key) k.tap_key(k.function_keys[5]) # Tap F5
k.tap_key(k.numpad_keys['Home']) # Tap 'Home' on the numpad
k.tap_key(k.numpad_keys[5], n=3) # Tap 5 on the numpad, thrice

4、PyMouse项目分析

PyUserInput开源项目维护的不太好,是将之前的PyMouse和PyKeyboard项目合到一起,而且竟然把人家之前的DEMO给删了!!!为了体验原汁原味的PyMouse我们还是单独分析吧 LINK-6

下面的一个例子展示了PyMouse的经典用法,主要用来操作鼠标 LINK-4

# import the module
from pymouse import PyMouse # instantiate an mouse object
m = PyMouse() # move the mouse to int x and int y (these are absolute positions)
m.move(200, 200) # click works about the same, except for int button possible values are 1: left, 2: right, 3: middle
m.click(500, 300, 1) # get the screen size
m.screen_size()
# (1024, 768) # get the mouse position
m.position()
# (500, 300)

我在之前写过一篇《1、python鼠标点击、移动事件应用——写一个自动下载百度音乐的程序》,就是用了PyMouse。

5、小结

PyMouse、PyKeyboard用python操作鼠标和键盘的库,使用起来比较简单,需要结合具体的应用需求才能玩出新花样。比如和openCV结合做游戏外挂和智能硬件结合做手势切歌和网页解析结合做日刷千题的OJ-AC自动机....

完~ 
大家觉得不错,可以点推荐给更多人~

LINKS

[1]. Python3 运算符
[2]. PyUserInput GITHUB地址
[3]. PyUserInput 文档
[4]. PyMouse 文档
[5]. PyMouseEvent 文档
[6]. PyMouse GITHUB地址

转载自:https://www.cnblogs.com/zjutlitao/p/10188434.html

PyMouse、PyKeyboard用python操作鼠标和键盘的更多相关文章

  1. [python] PyMouse、PyKeyboard用python操作鼠标和键盘

      1.PyUserInput 简介 PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方便使用.支持的平台及依赖如下: Linux - Xlib Mac - Quart ...

  2. 1、[python] PyMouse、PyKeyboard用python操作鼠标和键盘

    [python] PyMouse.PyKeyboard用python操作鼠标和键盘 1.PyUserInput 简介 PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方 ...

  3. Python模拟鼠标和键盘操作实现重复性操作

    前言 由于工作需要,要利用某软件去采集数据,做重复的动作大概500多次.所以想写一个程序代替人,去点击和输入. 一开始的思路有两个:1.用Python或者windows对此软件直接操作.2.利用Pyt ...

  4. 『心善渊』Selenium3.0基础 — 12、Selenium操作鼠标和键盘事件

    目录 (一)对鼠标的操作 1.鼠标事件介绍 2.ActionChains 类鼠标操作的常用方法 3.perform()方法 4.鼠标事件操作步骤 5.示例 (1)右键单击.左键双击 (2)鼠标拖拽动作 ...

  5. C# 调用windows api 操作鼠标、键盘、窗体合集...更新中

    鼠标操作window窗体合集...更新中 1.根据句柄查找窗体 引自http://www.2cto.com/kf/201410/343342.html 使用SPY++工具获取窗体   首先打开spy+ ...

  6. python模拟鼠标和键盘操作

    import win32api import win32con import win32gui from ctypes import * import time VK_CODE = { 'backsp ...

  7. Python+selenium鼠标、键盘事件

    鼠标操作 现在的Web产品提供了丰富的鼠标交互方式,例如鼠标右击.双击.悬停.甚至是鼠标拖动等功能,在Webdriver中,将这些关于鼠标操作的方法封装在ActionChains类提供. 1.鼠标右击 ...

  8. python:控制鼠标和键盘

    程序: # # _*_ coding:UTF-8 _*_ import win32api import win32con import win32gui from ctypes import * im ...

  9. python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

    0.关键实现:程序窗口前置 python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过pyauto实现右键菜单和另存为操作 1.参考 aut ...

随机推荐

  1. js调用正则表达式

    //验证是否为正整数 function isPositiveInteger(s) { var re = /^[0-9]+$/; return re.test(s); } if (exchangeCou ...

  2. 100行代码打造属于自己的代理ip池

    经常使用爬虫的朋友对代理ip应该比较熟悉,代理ip就是可以模拟一个ip地址去访问某个网站.我们有时候需要爬取某个网站的大量信息时,可能由于我们爬的次数太多导致我们的ip被对方的服务器暂时屏蔽(也就是所 ...

  3. Elasticsearch 入门,基本概念和操作

    基本概念 Node 与 Cluster Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例. 单个 Elastic 实例称为一个节点(nod ...

  4. wxpython中设置radiobox相关使用

    #coding=utf-8 import wx class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1, ...

  5. [postman][API 测试]用Postman做RestAPI测试学习笔记

    痛点:最近有个API网关的兼容性测试任务,需要验证API是否可用,返回值符合预期,如果手工复制粘贴curl命令,繁琐且低效 调研时发现了Postman 这个chrom插件,试用了2天后发现使用起来很方 ...

  6. 《Python编程:从入门到实践》第五章 if语句 习题答案

    #5.1 major = 'Software Engineering' print("Is major =='Software Engineering'? I predict True.&q ...

  7. 使用DateTimeFormatter替换线程不安全的SimpleDateFormat

    原文:https://blog.csdn.net/baofeidyz/article/details/81307478 如何让SimpleDateFormat保持安全运行? 方案一 每次都去new这种 ...

  8. linux使用文本编辑器vi常用命令

    一:翻页 ctrl+u向上翻半页 ctrl+d   向下翻半页 ctrl+f/page up向上翻一页 ctrl+b/page on   向下翻一页 H光标移到当前页的第一个字符 M光标移到当前页的中 ...

  9. 关于Go Modules的一些内容

    安装 配置环境 启用Go Modules go mod在Go >= 1.13才默认启用,在Go >= 1.11已经开始支持了go mod. 设置环境变量 # 启用go module exp ...

  10. orm多表查询基于双下划线

    ###########基于双下划线的跨表查询(基于join实现的)############# key: 正向查询按字段,反向查询按表名小写 1.查询python这本书出版社的名字 ret = Book ...