利用Python模拟键盘输入

      在我们日常生活中,我们输入文本时,有浏览器限制在输入框内“  粘贴  ”,因此我们可以利用以下代码Python来实现我们的粘贴。

        本文将详细解释一个使用Python编写的代码,该代码利用pynput库模拟键盘输入,并根据用户提供的内容和循环次数自动发送消息。

一、安装pynput

首先,使用pip命令安装pynput库,这是一个用来控制和监视输入设备的库(例如键盘和鼠标)。

!pip install pynput  #使用pip命令安装pynput库

 二、导入所需的模块

接下来导入所需的模块。time模块用于控制程序的暂停时间,pynput.keyboard中的KeyController类分别用于处理键盘按键和控制键盘输入。

import time  
from pynput.keyboard import Key, Controller

创建一个键盘控制器对象keyboard,用于模拟键盘输入。

keyboard  = Controller()

通过input函数获取用户输入的字符串和循环次数,并将它们分别存储在变量ab中。第二个input函数将用户输入的循环次数转换为整数类型。

a = input("请输入你要循环的内容:")
b = int(input("请输入循环的次数:"))

提示用户程序已经接收到数据,并让用户将光标移动到输入框。

print("数据以接收!请将光标移动到对话框")

 暂停程序2秒钟,给用户一些时间将光标移动到对话框中。

time.sleep(2)

使用for循环和time.sleep函数实现一个简单的倒计时,从3秒开始倒数到0秒,每次循环暂停1秒钟,并在控制台输出当前倒计时时间。

for i in range(4):
    print(r"距离程序运行还有%d秒"%(3-i))
    time.sleep(1)

这是主循环,执行用户指定次数(b)的内容发送操作。每次循环中: 

  1. 使用keyboard.type(a)模拟键盘输入用户提供的字符串a
  2. 使用keyboard.press(Key.enter)keyboard.release(Key.enter)模拟按下和释放回车键,发送输入的内容。
  3. 使用time.sleep(0.8)暂停0.8秒,以避免发送速度过快。
for i in range(b):
    keyboard.type(a)
    keyboard.press(Key.enter)
    keyboard.release(Key.enter)
    time.sleep(0.8)

在所有消息发送完毕后,输出提示信息,告知用户消息发送成功并让用户关闭窗口。

print("消息发送成功!请关闭窗口")

 三、步骤示例

1、输入循环内容与循环次数

2、快速移动至需要输入信息的输入框内

在运行之后,将鼠标快速移动至需要输入信息的输入框内。结果如下

如要继续输入,重新运行第三个方框内代码,无需重新安装pynput库。

四、完整代码

!pip install pynput

import time  
from pynput.keyboard import Key,Controller

keyboard  = Controller()
a = input("请输入你要循环的内容:")
b = int(input("请输入循环的次数:"))
print("数据以接收!请将光标移动到对话框")
time.sleep(2)
for i in range(4):
    print(r"距离程序运行还有%d秒"%(3-i))
    time.sleep(1)
 
for i in range(b):
    keyboard.type(a)
    keyboard.press(Key.enter)
 
    keyboard.release(Key.enter)
    time.sleep(0.8)

print("消息发送成功!请关闭窗口")

期待热心网友给出优化建议 ,代码仅供参考

  • 18
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值