sagantaf

なんでも自分の思ったこと、経験したことを書いて生きます。

【Python3】pyautoguiで日本語入力する方法

 
最近、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)