python模拟鼠标点击和键盘输入的操作

yipeiwu_com6年前Python基础

所有代码都是网上百度出来的,通过个人实践找到适合自己的。

采用的python 库是 pymouse、pykeyboard

安装时直接pip安装的,pip install PyUserInput

安装不成功的可以参照http://www.lfd.uci.edu/~gohlke/pythonlibs/这个地址,内容很全

实现了一个最简单的输入密码,enter进入的登录过程

如果想遍历,可以使用itertools 包,很有用,具体用法这里不介绍了。

· 鼠标点击

有m.click(x, y, button, n)  -- 点击,想x,y坐标,button:-1表示左键,-2表示右键,n:默认1次,2双击

m.move(x, y) -- 鼠标移动

m.screen_size() -- 获取屏幕尺寸

· 键盘操作

k.type_string('abcdefg') --输入内容

k.press_key('a') --按a键

k.release_key('a') --松开a键

k.tap_key('a') --点击a键

k.tap_key('a', n=2, interval=5) --点击a键2次,每次间隔5秒

k.tap_key(k.function_keys[5]) --功能键F5

k.press_keys([k.alt_key, 'a']) --组合按键,试验不成功

win10 系统没反应

关于监听键盘操作窗口:

import pyHook
import pythoncom

需要用到这两个模块,安装方法可以网上百度,我下载的是pyHook-1.5.1-cp27-cp27m-win_amd64.whl,放到python安装目录Scripts下,执行pip install pyHook-1.5.1-cp27-cp27m-win_amd64.whl即可

其中ctypes比较复杂,会单独写一篇

运行结果如下,可以把输入的内容保存到一个文档中(例えば:txt/excel)

这是两张图片拼出来的,拼接处有些明显,具体实现如下

import Image
image1 = Image.open('C:\\Pictures\\csdn\\1.png'.decode('utf8').encode('gbk')) #如果是中文路径
image1 = Image.open('C:\\Pictures\\csdn\\2.png'.decode('utf8').encode('gbk')) 
w1,h1 = image1.size
w2,h2 = image2.size
newIm= Image.new('RGB', (max(w1,w2), h1+h2+1), 'white')
newIm.paste(image1,(0,0))
newIm.paste(image2,(0,h1))
newIm.save('C:\\Pictures\\csdn\\Image.png','jpeg')

还是挺简单的。

关于鼠标的事件监听也尝试了,不过效果不太好,希望可以研究下怎么实现彩色线条模拟鼠标轨迹的代码~

总结

以上所述是小编给大家介绍的python模拟鼠标点击和键盘输入的操作,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

python 变量初始化空列表的例子

python 不能写new_loss=old_loss=[] 这样 两个变量实际上是同一个list 要分开写new_loss=[] Old_loss=[] 以下列数据文件为例: de...

python pandas dataframe 行列选择,切片操作方法

SQL中的select是根据列的名称来选取;Pandas则更为灵活,不但可根据列名称选取,还可以根据列所在的position(数字,在第几行第几列,注意pandas行列的position...

在Django中创建第一个静态视图

正如我们的第一个目标,创建一个网页,用来输出这个著名的示例信息: Hello world. 如果你曾经发布过Hello world页面,但是没有使用网页框架,只是简单的在h...

python取余运算符知识点详解

python取余运算符是什么? python取余运算符是%,即表示取模,返回除法的余数。 假设变量: a=10,b=20: 那么b % a 输出结果 0 注: Python语言支持以下类...

django用户注册、登录、注销和用户扩展的示例

django用户注册、登录、注销和用户扩展的示例

用户部分是一个网站的基本功能,django对这部分进行了很好的封装,我们只需要在django的基础上做些简单的修改就可以达到我们想要的效果 首先我假设你对django的session、c...