見出し画像

あるくメカトロウィーゴ入門(3) - Pythonからの操作

「あるくメカトロウィーゴ」をPython から操作する方法をまとめました。

・Windows 11
・Python 3.8

前回

1. PyAudioGUI

「PyAutoGUI」は、人間用GUIの自動化Pythonモジュールです。スクリプトからマウスやキーボードを制御することができます。

これを使ってあるくメカトロウィーゴをPythonから操作します。

2. インストール

Python3の仮想環境で、「pyautogui」と「opencv-python」をインストールします。

$ pip install pyautogui
$ pip install opencv-python

3. マウスとキーボードの制御

マウスとキーボードの制御方法は、次のとおりです。

import pyautogui

# 画面のサイズ
screenWidth, screenHeight = pyautogui.size()
print(screenWidth, screenHeight)

# 現在のマウスのXY座標
currentMouseX, currentMouseY = pyautogui.position()
print(currentMouseX, currentMouseY)

# マウス移動
pyautogui.moveTo(100, 100)

# マウスクリック
pyautogui.click()
pyautogui.click(100, 100)
# pyautogui.doubleClick()

# キー入力
pyautogui.write('Hello world!', interval=0.25)
# pyautogui.press('esc')
# pyautogui.keyDown('shift')
# pyautogui.write(['left', 'left', 'left', 'left', 'left', 'left'])
# pyautogui.keyUp('shift')
# pyautogui.hotkey('ctrl', 'c')

4. メッセージボックスの表示

メッセージボックスの表示方法は、次のとおりです。

import pyautogui

# アラート
r = pyautogui.alert('アラートです')
print(r)

# コンファーム(OK/Cancel)
r = pyautogui.confirm('コンファームです')
print(r)

# コンファーム(A/B/C)
r = pyautogui.confirm('選択してください', buttons=['A', 'B', 'C'])
print(r)

# プロンプト
r = pyautogui.prompt('プロンプトです')
print(r)

# パスワード
r = pyautogui.password('パスワード入力です')
print(r)

5. スクリーンショット

スクリーンショットの方法は、次のとおりです。画像処理にはpillowを使います。

import pyautogui

# スクリーンショット
im1 = pyautogui.screenshot()
im1.save('my_screenshot1.png')

# スクリーンショット
im2 = pyautogui.screenshot('my_screenshot2.png') 

6. 画像とマッチングする領域の取得

画面上の画像とマッチング領域を取得することもできます。

import pyautogui

# ボタンのクリック
buttonx, buttony = list(pyautogui.locateCenterOnScreen('button.jpg', confidence=0.9))
pyautogui.click(buttonx, buttony)

7. あるくメカトロウィーゴをPythonから操作

あるくメカトロウィーゴをPythonから操作する手順は、次のとおりです。

(1) 以下の画像とPythonスクリプトを準備。

・button.jpg

・button.py

import pyautogui

# ボタンのクリック
buttonx, buttony = list(pyautogui.locateCenterOnScreen('button.jpg', confidence=0.9))
pyautogui.click(buttonx, buttony)

(2) ロボットリモコンを起動。
実行したいボタン(以下では「♪桜」)を準備しておいてください。

(3) 以下のPythonスクリプトを実行。
実行直後にブラウザにフォーカスを戻しておいてください。

成功するとメカトロウィーゴが踊ります。



この記事が気に入ったらサポートをしてみませんか?