如何用Python编写脚本来自动输入文本?

2,365 阅读4分钟

想学习如何用Python自动输入文本吗?复制粘贴并不是模仿打字的一种很酷的方式。如果一些Python脚本能够模仿人类从键盘上实际打出的文字,你会怎么想?我所说的打字,是指在任何输入字段、聊天框等地方逐个字母、逐个字地实际打字。

在本教程中,我们将向你展示如何编写一个Python脚本,它可以接收一个文件(文本、数据、符号),并将其中的内容输入到你指示的地方,而且是自动输入。

使用Python实现自动打字

让我们进入使用Python实现自动打字的代码。这个代码可以用来在任何文本编辑器上打字,使其看起来很酷 🙂

为什么需要自动文字打字?

你会猜想为什么会需要任何自动文本打字的Python脚本,但这里有几个原因。

  • 它可以自动输入任意数量的文字或行数
  • 模仿键盘上的实际打字方式
  • 在你休息的时候,让别人帮你打字,这很有趣。此外,出于教育目的,它还可以用来发送垃圾邮件。

1.设置pyautogui

第一步是在你的计算机系统中安装所需的库和模块,以便对脚本进行编码,使你的功能不费吹灰之力即可使用。

虽然pyautogui时间模块都是与Python捆绑安装的,如果你的电脑中没有,你可以使用pip包管理器安装它们,如图所示。

pip install pyautogui
pip install time

现在,由于我们已经安装了所需的库,我们开始把它导入我们的代码文件中。

import pyautogui
import time

2.创建一个带有数据的文件

为了输入到我们的自动脚本中去写/输入一个文本,我们需要文本形式的数据(可以是任何东西,任何语言)。虽然我们可以直接在我们的Python代码文件中插入我们打算输入的文本,但这看起来并不优雅,也不是一个聪明的方法。

  • 创建一个以.txt为扩展名的文件
  • 在我们的例子中,创建的文件名为 - 'typing-data.txt' 。
  • 你可以在这个文件中存储任何文本,例如。"嗨,我是Python,我正在自动打出这个文本"。

在我们的例子中,我将使用一首流行歌曲的歌词 - "Dance Monkey",这是我从谷歌搜索中轻松得到的。

3.使用Python自动打字

现在我们已经完成了一些必要的步骤,制作一个自动打字的脚本的最后一步是在我们的Python脚本文件中编码打字功能。

设置一个时间延迟

在运行/执行Python文件后,为了让用户在文本字段中选择我们要输入的内容,我们需要一些时间。

time.sleep(10)

打开要读取的文本文件

为了打开我们的文本文件(typing-data.txt),我们使用pyautogui库的open()方法,以Read格式打开文件。

open("typing-data.txt", "r"):

但是现在,我们需要从文件中读出多行的文本,我们需要一次又一次地迭代它,直到文件中的文本 结束。要做到这一点,我们对要读取的文本文件中的每一行使用for循环。

import pyautogui
import time

time.sleep(10)

for line in open("typing-data.txt", "r"):

输入变量中的文本

现在,我们需要键入/写入读取的或存储在 "line "变量中的文本行。

我们通过使用模块的typewrite()方法来实现。

pyautogui.typewrite(line)

我们需要每次为每一行发送消息,这意味着我们需要逐行发送我们的消息,为此我们要在每次迭代时按下回车。但如果你想一次性发送信息(从文本文件),你必须跳过这一行。

如果要逐字输入文本,而不是逐行输入,你需要另一个循环来迭代一个句子的每个字。

使用Python自动输入文本的完整代码

下面给出了自动输入文本的最终代码。为了使用这个脚本自动打字,我们运行我们的Python文件,然后快速导航到我们打算演示自动打字的文本区域.

import pyautogui
import time

time.sleep(10)

for line in open("typing-data.txt", "r"):

    pyautogui.typewrite(line)
    
    pyautogui.press("enter")

总结

本教程到此为止。我希望你一定已经学会了如何用Python编写脚本来自动输入文本。