这个牛逼的Python模块,能让你轻松模拟并记录键盘操作(附零基础学习资料)

2023-10-27

前言

模拟键盘操作执行自动化任务,我们常用的有 pyautowin 等自动化操作模块。但是这些模块有一个很大的缺点,编译的时候非常依赖 windows 的C语言底层模块。(文末送福利)

今天介绍的这个模块叫做 keyboard 它有一个最大的优点:纯Python原生开发,编译时完全不需要依赖C语言模块。一行命令就能完成安装,非常方便。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。

请选择以下任一种方式输入命令安装依赖:

  1. Windows 环境 打开 Cmd (开始-运行-CMD)。
  2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install keyboard

2.基本使用

按下并释放:模拟键盘按下某些键或组合键后释放,比如shift + S, 并增加空格:

import keyboard

keyboard.press_and_release(‘shift+s, space’)
输入文字:

import keyboard

keyboard.write(‘Python 实用宝典’)
等待触发按键并响应:

#公众号:Python实用宝典
import keyboard

keyboard.add_hotkey(‘ctrl+shift+a’, print, args=(‘宝典哥触发了热键’))
keyboard.wait()
这样程序就会监控 “ctrl+shift+a” 组合键的触发情况,一旦组合键触发,就会执行第二个参数的函数,并将第三个参数传入第二个函数的参数中。

在这里插入图片描述
等待触发某个按键:

#公众号:Python实用宝典
import keyboard

keyboard.add_hotkey(‘ctrl+shift+a’, print, args=(‘宝典哥触发了热键’))
keyboard.wait(‘esc’)
这样,按下 ESC 就会终止等待,继续往下运行程序。

3.高级功能

记录功能:

#公众号:Python实用宝典
import keyboard

recorded = keyboard.record(until=‘esc’)
print(recorded)
在这里插入图片描述
可以看到,除非你按下esc,它会记录所有执行过的键盘操作。

重放操作:

#公众号:Python实用宝典
import keyboard

recorded = keyboard.record(until=‘esc’)
print(recorded)
keyboard.play(recorded, speed_factor=3)
play方法能完全模拟你刚记录下的所有键盘操作。

替换操作:

#公众号:Python实用宝典
import keyboard

keyboard.add_abbreviation(‘@@’, ‘Python 实用宝典’)
keyboard.wait(‘esc’)
输入@@并按下空格,它会将你刚输入的@@替换为 Python 实用宝典.

怎么样,这个简单实用的Keyboard模块,你学会使用了吗?

知道你对Python感兴趣,便准备了这套python学习资料,毕竟小编也是用这套方法自学并成功上岸的

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑培训的。

一方面是学习时间相对较短,学习内容更全面更集中。

零基础Python学习资源介绍

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这个牛逼的Python模块,能让你轻松模拟并记录键盘操作(附零基础学习资料) 的相关文章

随机推荐

  • stata学习笔记①stata基础介绍

    文章目录 一 为什么要学stata 二 软件基本解释 1 软件界面 2 导入示例数据 3 认识几个重要的功能符号 三 数据的基本观测 四 统计性描述 1 codebook 数据字典使用 2 summarize 五 图像初步探索 1 hist
  • 华硕服务器RS720-E10-RS12无法安装win10到M.2的NVME SSD

    进BIOS开启CSM 兼容性支持模块
  • 区块链浏览器与合约代码

    声明 此文系 Vue3 0 Quasar ethers js 和以太坊智能合约交互 系列教程之一 开始 区块链浏览器 在本教程中 我一直在说区块链是去中心化的 它想打造的是一个数据永不可篡改且公开透明的数据世界 那么这样的区块链它最重要的一
  • linemod算法过程理解

    一 提取模板 1 预处理 使用高斯模糊预处理将要作为模板的RGB图 2 模板梯度计算 分别计算RGB三个通道中每个像素点x和y方向的梯度 sobel算子 取幅值最大的作为该像素的梯度 若梯度幅度值小于阈值 则被舍弃 3 梯度离散化及量化 对
  • 01 逻辑回归的理解

    1简介 逻辑回归是一个分类算法 本质是对线性回归做了一个变换 将值域压在0 1的空间 从而可以未每一个特征 估算出一个概率 作预测问题 二分类 逻辑回归问题 本质上就变成 求解变换后的每个特征的权重 ax1 bx2 cx3 0 1 求解模型
  • STM32的PWM和DAC练习

    文章目录 一 输出PWM波形 1 1 实验代码 1 2 调试 一 输出PWM波形 1 1 实验代码 代码来自野火STM32F103 mini开发板资料 1 书籍配套例程 F103RCMINI 32 TIM 高级定时器 3 TIM 高级定时器
  • 【牛客】HJ1 字符串最后一个单词的长度

    三行代码做一道题HJ1 字符串最后一个单词的长度 我的意思是不包括固定代码哦 读题 输出几个单词 以空格隔开 输出最后一个单词的长度 代码 直接写最终解题代码 include
  • vue路由传参的两种方式,实现返回上个页面不刷新

    我的项目是当在新增页面 下面叫A页面 先提交一些数据 然后跳转到下一个页面 下面叫B页面 再填写数据 然后返回到新增的页面 之前我直接跳转回B页面goback 这样的话跳转回来A页面就什么数据都没有了 解决方法有两种 一种是在地址栏里面拿参
  • 最简单自动化搜索的脚本代码

    from selenium import webdriver from selenium webdriver common by import By driver webdriver Chrome 打开的网址一般是get请求 driver
  • C语言学习记录——项目1 交换机后台管理之登录菜单(1)

    C语言学习记录 项目1 交换机后台管理之登录菜单 1 交换机 交换机 Switch 是一种用于电 光 信号转发的网络设备 它可以为接入交换机的任意两个网络节点提供独享的电信号通路 最常见的交换机是以太网交换机 其他常见的还有电话语音交换机
  • mysql 查询出表字段的属性

    SELECT column name 字段名 column comment 字段说明 column type 字段类型 column key 约束 FROM information schema COLUMNS WHERE table na
  • Node.js 基础篇(九):fs.watchFile

    目录 fs watch 监视 filename 的变化 fs watchFile 监视 filename 的变化 fs watch 监视 filename 的变化 fs watch filename options listener fil
  • 机器学习:matlab和python实现SVD(奇异值分解)算法

    1 SVD SVD Singular Value Decomposition 奇异值分解 SVD算法不光可以用于降维算法中的特征分解 还可以用于推荐系统 以及自然语言处理等领域 是很多机器学习算法的基石 假设我们现在有一个矩阵M m n 如
  • 服务器上R调用png显示x11报错怎么办?

    太长不读版 治本的方法 服务器安装pango 之后重新编译R语言 治标的方法 在R的配置文件中增加options bitmapType cairo 服务器上装完R语言之后 发现自己的PNG函数无法正常调用 始终会出现一个X11连接失败的错误
  • 进行模拟点击的时候,利用python完成黑名单和白名单(判断字符串是否包含)

    在做项目的时候 遇到一个需求 就是在进行模拟点击的时候 要求加上一个黑名单和白名单 意思就是 白名单 模拟点击的时候 不能点击白名单里面有的元素 例如 包含什么地址 或者什么数字和特殊的字符串的时候 黑名单 就是不在黑名单里的元素 就不能进
  • 中台到底在共享什么

    一 中台的诞生 中台战略是企业数字化转型过程中的一个热门话题 说到中台转型 企业大多对标阿里巴巴 2015年阿里巴巴提出了 大中台 小前台 的中台战略 提出之初阿里有近 4 亿用户 为超过 1000万各类企业提供服务 业务种类繁多 业务之间
  • @DynamicUpdate 注解 动态更新 和 lombok 插件 @Data 注解使用 ; @Transient 与Dto引入

    比如在实体类中 private Date updateTime 这个属性 在数据库中 我们创建update Time的时候我们 update Time timestamp not null default current timestamp
  • [C++]何为溢出?如何避免?

    总时忘记 以Leetcode69为例 来记录一下吧 给你一个非负整数 x 计算并返回 x 的 算术平方根 由于返回类型是整数 结果只保留 整数部分 小数部分将被 舍去 注意 不允许使用任何内置指数函数和算符 例如 pow x 0 5 或者
  • 惊!一百多万人下载这些vscode摸鱼插件

    分享资料 一起学习 我是小白 微信 tlxx233 备注 888建了个微信程序员学习群 互相解答问题 有需要的同学可以加我微信进群 作为一个程序员 我们的日常工作离不开代码编辑器 有时候编写代码会让人感到无聊和单调 但是好的插件可以让编码变
  • 这个牛逼的Python模块,能让你轻松模拟并记录键盘操作(附零基础学习资料)

    前言 模拟键盘操作执行自动化任务 我们常用的有 pyautowin 等自动化操作模块 但是这些模块有一个很大的缺点 编译的时候非常依赖 windows 的C语言底层模块 文末送福利 今天介绍的这个模块叫做 keyboard 它有一个最大的优