python模拟鼠标点击和键盘输入的操作
作者:csdn怀 发布时间:2023-01-14 18:29:00
所有代码都是网上百度出来的,通过个人实践找到适合自己的。
采用的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模拟鼠标点击和键盘输入的操作,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
来源:https://blog.csdn.net/u013783095/article/details/79630358


猜你喜欢
- 没有办法,实践证明最好的解决办法是自己写一个OCX控件,这样就只要注册一下OCX控件就可以了,同时OCX控件的可扩展性非常大,也就是给vc\
- 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%&
- 本节为大家分享的例子是wxpython Frame的用法。例子:#!/usr/bin/python # -*- coding:
- 本文实例讲述了PHP自定义函数格式化json数据的方法。分享给大家供大家参考,具体如下:<?php /**
- 一. 数据的格式首先我们需要x,y,z三个数据进行画图。从本实验用到的数据集KITTI 00.txt中举例:1.000000e+00 9.0
- spark编程python实例ValueError: Cannot run multiple SparkContexts at once;
- 我们通常会使用 apt-get或者是pip来安装包,但是这两者的安装路径是不一样的,区别如下:如果使用pip或者pip3安装,则第三方包在:
- 一、Ajax简介Ajax被认为是(Asynchronous JavaScript and XML)的缩写,允许浏览器与服务器通信而无需刷新当
- 平衡二叉树:在上一节二叉树的基础上我们实现,如何将生成平衡的二叉树所谓平衡二叉树:我自己定义就是:任何一个节点的左高度和右高度的差的绝对值都
- set oSQLServer =server.createobject("SQLDMO.SQLServer")oSQLS
- 简单实现了一个在函数执行出现异常时自动重试的装饰器,支持控制最多重试次数,每次重试间隔,每次重试间隔时间递增。最新的代码可以访问从githu
- 一、概述前提:已安装 Python,如下图所示:1.1 检查是否已配置成功(选)1. 打开运行窗口 (1) 快捷键  
- 如何获取实时股票信息股票信息的接口有很多,之前大家常用的是新浪的,但在年初的时候,新浪的接口突然不能使用,给大家造成了很大的困扰,为此网上也
- 前言在进行一个应用系统的开发过程中,从上到下一般需要四个构件:客户端-业务逻辑层-数据访问层-数据库,其中数据访问层是一个底层、核心的技术。
- 1.在使用MySQL和php的时候出现过中文乱码问题(1) 只要是gb2312,gbk,utf8等支持多字节编码的字符集都可以储存汉字,当然
- 每个JavaScript函数都有prototype属性(javascript对象没有这个属性),这个属性引用了一个对象,这个对象就是原型对象
- 运行下面两个命令,即可把 Vim(含插件)配置成 Python IDE。目前支持 MAC 和 Ubuntu。curl -O https://
- ACCESS数据库中Field对象的caption属性(也就是标题)是用来设置数据字段的标题,在正常的数据库设计中为了保持维护的便利性,许多
- mysql优化了所以先说说这个,其实这个,很复杂,对于不同的网站,其在线,访问量,帖子数量,网络情况,以及机器配置都有关系,优化不是一次可以
- Django在执行python manage.py makemigrations的时候一切正常但是执行python manage.py mi