Python

ポイントは組み合わせ!?PyAutoGUIで日本語入力するには?

ポイントは組み合わせ!?pyautoguiで日本語入力するには?
UWSCの代わりにPythonの「PyAutoGUI」を使ってみたところ、日本語を入力したくなりました。
「PyAutoGUI」で文字を入力するには「typewrite()」を使いますが、対象はアルファベットのみ。引数に日本語を入力するとエラーになります。
じゃあ、どうするのか?
ライブラリの組み合わせで簡単に解決できます。

 

組み合わせるライブラリは?

クリップボードを扱う外部ライブラリ「pyperclip」を組み合わせます。

pip install pyperclip

「pyperclip」の使い方についてはこちら

外部ライブラリのインストール方法はこちら

 

コードの書き方は?

入力したい日本語を「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
-, , , , , , , , ,