利用Python模拟键盘输入
在我们日常生活中,我们输入文本时,有浏览器限制在输入框内“ 粘贴 ”,因此我们可以利用以下代码Python来实现我们的粘贴。
本文将详细解释一个使用Python编写的代码,该代码利用pynput
库模拟键盘输入,并根据用户提供的内容和循环次数自动发送消息。
一、安装pynput
库
首先,使用pip
命令安装pynput
库,这是一个用来控制和监视输入设备的库(例如键盘和鼠标)。
!pip install pynput #使用pip命令安装pynput库
二、导入所需的模块
接下来导入所需的模块。time
模块用于控制程序的暂停时间,pynput.keyboard
中的Key
和Controller
类分别用于处理键盘按键和控制键盘输入。
import time
from pynput.keyboard import Key, Controller
创建一个键盘控制器对象keyboard
,用于模拟键盘输入。
keyboard = Controller()
通过input
函数获取用户输入的字符串和循环次数,并将它们分别存储在变量a
和b
中。第二个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
)的内容发送操作。每次循环中:
- 使用
keyboard.type(a)
模拟键盘输入用户提供的字符串a
。 - 使用
keyboard.press(Key.enter)
和keyboard.release(Key.enter)
模拟按下和释放回车键,发送输入的内容。 - 使用
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("消息发送成功!请关闭窗口")
期待热心网友给出优化建议 ,代码仅供参考
作者:gabadout