Python - PyAutoGUI:マウスやキーボードの自動化
初めに
PyAutoGUIライブラリを用いて、マウスやキーボードの自動化ができます。本記事では、PyAutoGUIの基本的な使い方と使用例として、Youtubeを指定時間後に停止するコードを紹介します。
Index
PyAutoGUIのインストール
TERMINALに次のコマンドを入力し、インストールします。
pip install pyautogui
マウスに関する基本的な操作
マウスの現在地の取得
import pyautogui current_mouse_position = pyautogui.position() print(current_mouse_position)
マウスを指定座標に移動させる
pyautogui.moveTo(100, 100, duration=1) # (x, y)座標に1秒かけて移動
画面の左上の座標が (0, 0) です。左に行くほど x 座標は増加し、下に行くほど y 座標が増加します。
現在地を実行ボタンの位置で取得しておくと、下のコードのようにマウスを動かした後に、実行ボタンの位置に戻ってくることも可能です。
import pyautogui current_mouse_position = pyautogui.position() print(current_mouse_position) pyautogui.moveTo(100, 100, duration=2) # (x, y)座標に2秒かけて移動 print(pyautogui.position()) pyautogui.moveTo(100, 600, duration=2) # (x, y)座標に2秒かけて移動 print(pyautogui.position()) pyautogui.moveTo(1241, 600, duration=2) # (x, y)座標に2秒かけて移動 print(pyautogui.position()) pyautogui.moveTo(current_mouse_position, duration=2) # (x, y)座標に2秒かけて移動 print(pyautogui.position())
クリック・ダブルクリック
import pyautogui moveToX = 100 moveToY = 100 # 左クリック pyautogui.click(x=moveToX, y=moveToY) # 右クリック pyautogui.rightClick(x=moveToX, y=moveToY) # 中クリック pyautogui.middleClick(x=moveToX, y=moveToY) # ダブルクリック pyautogui.doubleClick(x=moveToX, y=moveToY)
キーボードの基本操作
pyautogui.typewrite("Hello, PyAutoGUI!")
import pyautogui pyautogui.click(400, 300) # (x, y)座標でクリック pyautogui.typewrite("Hello, PyAutoGUI!") # キーボードの入力
スクリーンショット
screenshot = pyautogui.screenshot()
screenshot.save('screenshot.png')
使用例:再生中のYouTubeを指定時間後に停止する
import pyautogui import time # 待ち時間(分)を定義 wait_minutes = 0.1 # 指定した時間待つ time.sleep(wait_minutes * 60) # メインの処理 if __name__ == '__main__': youtube_window = pyautogui.getWindowsWithTitle('YouTube') if youtube_window: youtube_window[0].activate() # YouTubeを開いているウィンドウをアクティブにする pyautogui.press('space') # スペースキーを押す
youtube_window = pyautogui.getWindowsWithTitle('YouTube')
でYoutubeが開いているウィンドウを取得します。もし、Youtubeを開いているウィンドウがあれば、そのウィンドウをアクティブにし、スペースキーを押す処理をします。
動画再生中であれば動画が停止されます。動画停止中であれば動画が再生されます。
寝ながら動画を見る場合に、動画を自動で停止してくれます。