Pythonによる文字列の自動入力 Pyautogui

スポンサーリンク

Pythonを使ってテキストを自動入力する方法を学びたい方はこちら。

コピーペーストは、テキストファイルのタイピングを模倣するクールな方法ではありません。

もし、あるPythonスクリプトがキーボードから実際に人間のようにテキストをタイプするのを真似ることができるとしたら、どう思いますか?タイピングというのは、入力フィールドやチャットボックスなどで、一文字ずつ、一語ずつ、実際に入力することを意味します。

この記事では、ファイル(テキスト、データ、シンボル)を取り込んで、その内容をどこにでも、それも自動的に入力するpythonスクリプトのコードを書く方法を紹介します。

スポンサーリンク

Pythonを使った自動タイピングの実装

Pythonを使った自動タイピングの実装のコードに入りましょう。

なぜAuto Text Typeが必要なのか?

なぜ自動テキスト入力のPythonスクリプトが必要なのかと思うでしょうが、その理由をいくつか挙げてみましょう。

  • それは自動的に単語や行の任意の数のテキストを入力することができます。
  • キーボードのように実際のタイピングを模倣することができます。
  • あなたが休んでいる間、何かがあなたのためにタイプを取得するのは楽しいです。また、教育目的のみと思われますが、これはスパムに使用することができます。

1. pyautoguiのセットアップ

最初のステップは、スクリプトをコーディングし、手間をかけずに機能を利用できるようにするために、必要なライブラリとモジュールをあなたのコンピュータシステムにインストールすることです。

pyautoguiとtimeモジュールはpythonのインストールにバンドルされていますが、もしあなたのコンピュータにない場合は、図のようにpipパッケージマネージャを使用してインストールすることができます。

pip install pyautogui
pip install time

さて、必要なライブラリがインストールされたので、コードファイルにインポートすることから始めます。

import pyautogui
import time

2. データファイルの作成

テキストを書き込んだり入力したりする自動スクリプトに送るには、テキスト形式のデータ(どんな言語でもかまいません)が必要です。

Pythonのコードファイルに直接テキストを挿入することもできますが、見た目が悪く、スマートな方法とは言えません。

  • .txt 拡張子を持つファイルを作成します。
  • この例では、’typing-data.txt’という名前のファイルを作成します。
  • このファイルには任意のテキストを保存することができます。「このファイルには、例えば「こんにちは、私はPythonです、このテキストを自動的にタイプしています。

この例では、Googleで検索して簡単に手に入れた「Dance Monkey」という有名な歌の歌詞を使うことにします。

サンプルデータの後、テキストファイルはこのようになります。

Typing Data File
Typing Data File

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)

メッセージの送信は、1行ごとに行う必要があるので、1行ずつ送信する必要があります。

ただし、テキストファイルから一度にメッセージを送信する場合は、この行をスキップしなければなりません。

行単位ではなく、単語単位でテキストを入力するには、文の単語単位で繰り返し実行する別のループが必要です。

pyautogui.press("enter")

Pythonでテキストを自動入力する完全なコード

テキストを自動的に入力する最終的なコードは以下のとおりです。

このスクリプトを使用して自動入力するには、Pythonファイルを実行してから、自動入力を実演するテキストフィールドにすばやく移動します。

出力映像の通りです。

import pyautogui
import time
 
time.sleep(10)
 
for line in open("typing-data.txt", "r"):
 
    pyautogui.typewrite(line)
     
    pyautogui.press("enter")

出力

出力-## おわりに

チュートリアルは以上です。

Pythonでテキストを自動入力するスクリプトを書く方法を学んでいただけたでしょうか。

タイトルとURLをコピーしました