UWSCの代わりにPythonの「PyAutoGUI」を使ってみたところ、日本語を入力したくなりました。
「PyAutoGUI」で文字を入力するには「typewrite()」を使いますが、対象はアルファベットのみ。引数に日本語を入力するとエラーになります。
じゃあ、どうするのか?
ライブラリの組み合わせで簡単に解決できます。
組み合わせるライブラリは?
クリップボードを扱う外部ライブラリ「pyperclip」を組み合わせます。
pip install pyperclip
「pyperclip」の使い方についてはこちら 「YouTube Studio」ではiMacrosの文字入力が上手くいかず、コピー&ペーストを自動化することで対応してました。 じゃあ、Pythonでもコピペをするには?というのが今回の内容です。 & ... 続きを見る
これで自由自在!!Pythonでクリップボードを使う方法?
外部ライブラリのインストール方法はこちら Pythonに関する投稿が増えると、「外部ライブラリをインストールして~」と書くことも増えてきます。 インストール方法をその都度書いていたものの、1つにまとめる事にしました。 手順は? ... 続きを見る
Pythonで外部ライブラリをインストールするには?【Windows】
コードの書き方は?
入力したい日本語を「pyperclip」でクリップボードに入れ、それを「PyAutoGUI」で貼り付ける流れです。
import pyautogui
import pyperclip
# 入力したい日本語をクリップボードにセットする
pyperclip.copy('https://オンライン将棋教室・香.com/')
# 入力したいところをクリックする 仮にx=100,y=100の地点
pyautogui.click(x=100, y=100)
# 「Ctrl + V」で、貼り付ける
pyautogui.hotkey('ctrl', 'v')
まとめ
「PyAutoGUI」で日本語を入力したいときは、「pyperclip」と組み合わせてクリップボードを経由することで実現できます。
アルファベットでも、長文の時は「pyperclip」を使ってクリップボード経由の方が良いかもしれません。
ちなみに、「Selenium」で要素に対して文字列を入力したい場合、長文なら「send_keys()」ではなく、クリップボード経由の方が処理速度が速くて良いです。
Pythonでパソコンを操作する【目次】