2017/06/13
0:00

Pythonライブラリ「PyAutoGUI」使用方法紹介



みなさんこんにちは。
人工知能ラボの助手です。

前回はPythonのGUI操作ライブラリ「PyAutoGUI」の概要
についての説明をしました。

今回は、実際にどのような操作ができるのか、コード
見せながら説明をしていこうと思います。

それでは、さっそく見ていきましょう。



キーボード操作
import pyautogui


# キー入力
pyautogui.typewrite(keys, interval)

# アルファベット以外のキー入力をしたい場合は、keysを配列に
pyautogui.typewrite([key1, key2, .....], interval)
# 例えば
pyautogui.typewrite(['a', 'b', 'space', 'enter'], 1)

# ショートカットキー(同時押し)
pyautogui.hotkey(key1, key2,...)

# 長押し
pyautogui.keyDown(key) #押す
pyautogui.keyUp(key) #離す

# 使用できるキーの一覧を出す
pyautogui.KEYBOARD_KEYS

"""
interval:キー入力間の待機秒数
"""

コードを見ると分かりますが、基本的なキーボード操作は
ほとんど行うことができます。


マウス操作
# マウスカーソルを座標(x, y)にtime秒かけて移動
pyautogui.moveTo(x, y, time)

# マウスカーソルを現在の座標からx, yだけtime秒かけて移動する
pyautogui.moveRel(x, y, time)

# 指定の座標をinterval秒ごとにclick回、左または右クリックする
pyautogui.click(x, y, click, interval, 'left' or 'right')

# 指定の座標をクリックしたままにする
pyautogui.click(x, y,)

# マウスをtime秒押したままにする
pyautogui.mouseDown(x, y, time, 'left' or 'right')

キーボード操作同様、基本的な操作はほとんど
行うことができます。

その他、スクリーン等の情報取得
# 画面の解像度
pyautogui.size()

# マウスカーソルの現在位置
pyautogui.position()

基本的なGUI操作以外にも、このような機能も付いています。
一見、GUI操作とは関係ないように見えますが…

例えば、画面の真ん中をクリックしたい時などは、
解像度を取得して、解像度を2で割った値をクリック
などの使い方ができますね。


今回紹介したこのライブラリは、人工知能との直接の関係は
ありませんが、スクリーン上の画像認識をして、その情報に
基づいて何らかの操作を行うようなプログラムが
実現できたら面白いかもしれませんね。

例えば、windowsの各アイコンを認識し、その座標を返してくれる
画像認識エンジンを作成すれば、特定のアイコンをクリックする
プログラムが作れそうですね。

私も、時間のある時に何か作ってみようかなと思います。

それでは、今回はここまでにしましょう。
お疲れ様でした!