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 yield 使用方法浅析

如何生成斐波那契數列 斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一...

更新修改后的Python模块方法

更新修改后的Python模块方法

python如何更新修改后的Python模块 1.利用python的MySQLdb模块利用原生的sql语句进行更新的方法代码 配置方法代码 2.使用execute方法执行SQL语句方法...

Flask框架学习笔记之表单基础介绍与表单提交方式

Flask框架学习笔记之表单基础介绍与表单提交方式

本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式。分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件。由表单标签,表单域和表单按钮组成...

Python实现Restful API的例子

最近写了一个网络验证登录的爬虫,需要发布为Rest服务,然后发现Flask是一个很好的Web框架,使用Python语言实现。 1. 安装flask pip install flask...

深入理解NumPy简明教程---数组1

目前我的工作是将NumPy引入到Pyston中(一款Dropbox实现的Python编译器/解释器)。在工作过程中,我深入接触了NumPy源码,了解其实现并提交了PR修复NumPy的bu...