no-image

pythonの「pyautogui」でマウスやキーボードの自動操作

pyautoguiモジュールを使うとマウスやキーボードの自動操作が可能に!

このモジュールでマウスやキーボードを自動化できるようになります。

詳しい使い方はリファレンスを見るとだいたいわかると思います。

pyautoguiリファレンスは下記のサイトです。
Welcome to PyAutoGUI’s documentation! — PyAutoGUI 1.0.0 documentation

そこでちょっと引用してみます。

>> import pyautogui
>>> screenWidth, screenHeight = pyautogui.size()
>>> currentMouseX, currentMouseY = pyautogui.position()
>>> pyautogui.moveTo(100, 150)
>>> pyautogui.click()
>>> pyautogui.moveRel(None, 10) # move mouse 10 pixels down
>>> pyautogui.doubleClick()
>>> pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad) # use tweening/easing function to move mouse over 2 seconds.
>>> pyautogui.typewrite(‘Hello world!’, interval=0.25) # type with quarter-second pause in between each key
>>> pyautogui.press(‘esc’)
>>> pyautogui.keyDown(‘shift’)
>>> pyautogui.press([‘left’, ‘left’, ‘left’, ‘left’, ‘left’, ‘left’])
>>> pyautogui.keyUp(‘shift’)
>>> pyautogui.hotkey(‘ctrl’, ‘c’)

色々な関数がありますがpyautoguiモジュ―ル1個だけで実現できます。pyautoguiではながいので

pyautoguiを簡単に解説

pyautogui.press(‘esc’) なにかのキーがおされたとき
pyautogui.keyDown(‘shift’) press()と一緒
pyautogui.hotkey(‘ctrl’, ‘c’) パラメーターを2つ設定することで、ホットキーを実現できる
pyautogui.click() マウスのクリック操作を模倣
pyautogui.doubleclick() マウスのダブルクリック操作を模倣
pyautogui.typewrite(‘Hello world!’, interval=0.25) 好きな文字を入力することが可能。第2引数のintervalは間隔を指定する。

import pyautogui as pa とかにすればいいと思います。

このasというのはモジュール宣言を簡略化できるのがいいです。pa.typewrite()などにできます。そして話を繋げますが、このtypewrite()は文字列を入力できます。ただこれが日本語には対応していないらしいです。でもpyperclipで貼り付けたものならば実現できるみたいです。これはちょっと残念ですね。

UWSCに慣れている人はUWSCでいいかも。

pyautoguiでなくてもUWSCという操作を自動化するプログラム言語?があります。またほかにも自動化するライブラリは他の言語にもあると思います。なので自分が気に入ったソフトを使えばよいと思います。

問題は速度の違いですが、UWSCのほうが速い気がしました。(たぶん気のせい)

速度に関しても、体感で早いほうを使えばいいと思います。ですがUWSCにリファレンスはありません。コバヤシ式というサイトがUWSCについて詳しく取り扱っています。

□UWSCコバヤシ式
http://canal22.org/