PyAutoGUIは、Pythonでスクリプトを書いてコンピュータの操作を自動化するためのライブラリです。
PyAutoGUIを使うことで、次のようなことができます。
- マウスカーソルの移動
- マウスクリック(左、右、中央)
- マウスホイールスクロール
- キーボード入力
- ファイルのドラッグアンドドロップ
- キーボードのショートカット(Ctrl + C、Ctrl + Vなど)
- キャプチャスクリーンショット
- 画面上の特定の画像を探す
PyAutoGUIを使えるようになると、RPAを実装することができます。
今回はPyAutoGUIを使って「locateOnScreen関数で探した画像の座標の中心点を取得する」方法をご紹介します。
【Python】PyAutoGUIのlocateOnScreen関数で探した画像の座標の中心点を取得する方法
PyAutoGUIのlocateOnScreen()関数で探した画像の座標の中心点を取得する方法は、以下のとおりです。
import pyautogui as pgui
# 探す画像のパス
image_path = 'image.png'
# 画面上の画像を探す
location = pgui.locateOnScreen(image_path)
if location:
# 画像の中心点を取得
center_x, center_y = location[0] + location[2]/2, location[1] + location[3]/2
print(center_x, center_y)
else:
print('image not found')
このように、’top’, ‘left’, ‘width’, ‘height’を使って、中心点を計算します。
もし、locateOnScreen()関数が画像を見つけられなかった場合には、locationにはNoneが入っているので、その点に注意してください。
PyAutoGUIを使うことで、画面上の特定の画像の中心座標を取得することができます。これは、特定の画像をクリックする、ドラッグアンドドロップする、などのタスクを自動化する上で非常に便利です。
AttributeError: ‘Box’ object has no attribute ‘center’
こういうエラーが出るケースがあります。
AttributeError: 'Box' object has no attribute 'center'
このエラーは、PyAutoGUIの locateOnScreen()関数が返す値が、’Box’オブジェクトではなく、4つの数値のタプルだから発生します。
‘top’, ‘left’, ‘width’, ‘height’を返すようにします。
もっと効率的に勉強したい方
独学での勉強に限界を感じている方は、思い切って課金するのも手です。
udemyなら基礎的な知識を短期間でマスターすることが可能です。
僕も最初の頃は、udemyの動画で勉強しました。
講師のコードを見ながら作成できるので、成長速度が非常に早くなりました。
数千円で数十時間の節約になるので、悩んでいる方はケチらず投資していきましょう!
コメント