最近、pyautoguiを使って会社の業務を自動化している。
そんな中、Webページに日本語を送って面倒な申請業務等を自動化しよう!
って思ったが、
作っていくうちに日本語入力ができない問題にぶち当たった。。。
ググっても、やはりできないようで…
import pyautogui as auto
auto.typewrite("日本語送りたい”)
typewriteで英数字ならきちんと入力されるのに、日本語にした途端、何も入力されなくなる。
なんとかならないものか…と試行錯誤していたら、
コピペでできることが判明!
どういうことかというと、
pyperclipモジュールのcopyメソッド と pyautoguiのhotkeyメソッド を利用すると、うまく日本語を入力できる!
import pyautogui
import pyperclip
pyperclip.copy("これでいける") ←これでクリップボードに引数を保存できる
pyautogui.hotkey('ctrl', 'v’) ←これでその場にペーストする
こうすれば、しっかりと日本語が意図した通りに入力される。
上記のように直接copyメソッドの引数として書き込む以外にも、
変数を別途用意してファイルを読み込んで入力させたり、tkinterで入力ウィンドウを用意して、入力した日本語を利用することもできる。
何度も利用する場合はメソッド化しておけば非常に便利↓
def copipe(string):
paperclip.copy(string)
pyautogui.hotkey('ctrl', 'v’)
すごい簡単な例だが、以下のような使い方をする。
import pyautogui
import pyperclip
input_string =input("何か日本語を入力してください:")
copipe(input_string)