PyAutoGUIでスクロール操作を完全解説!垂直・水平スクロールから応用例まで

pyautogui アイキャッチ画像

PyAutoGUIの概要

PyAutoGUIは、Pythonを使用してデスクトップ操作を簡単に自動化できる便利なライブラリです。Windows、macOS、Linuxなど、さまざまなプラットフォームで動作し、反復的なタスクを効率的に処理するために設計されています。

PyAutoGUIとは?

PyAutoGUIは、マウスやキーボード操作をプログラムで制御し、スクリーンショットや画像認識を利用した柔軟な操作を可能にします。
以下のような機能が利用できます

どんなときに使うのか?

PyAutoGUIは、以下のようなシーンで役立ちます:

  • アプリケーションのUIテストを自動化したいとき
  • デスクトップ上の反復作業(データ入力やファイル操作など)を効率化したいとき
  • 画像認識を活用して、動的なUI要素を操作したいとき

PyAutoGUIと他の自動化ツールとの違い

PyAutoGUIは、RPAツール(例: UiPath)やVBAと比べても独自の強みを持っています。

特徴 PyAutoGUI RPAツール VBA
プラットフォーム Windows, macOS, Linux 主にWindows Windows
(Office環境が必須)
操作対象 デスクトップ アプリケーション Microsoft製品
画像認識 可能 可能 不可
カスタマイズ性 柔軟なスクリプト作成 ビジュアル操作 マクロによる記述
コスト 無料 有料 Microsoft Officeライセンスが必要

お金を掛けずにRPAを実現させたい方は是非利用してみてください

PyAutoGUIのインストール方法

PyAutoGUIは、Python環境に簡単にインストールできる便利なライブラリです。
このセクションでは、インストール手順について説明します。

PyAutoGUIのインストール

PyAutoGUIをインストールするには、以下のコマンドを実行します:

pip install pyautogui

macOSやLinux環境の場合、`pip`ではなく`pip3`を使用する必要がある場合があります:

pip3 install pyautogui

これでインストールが完了です。

インストールの確認

インストールが正常に行われたか確認するため、Python環境を起動し、以下のコードを実行します:

import pyautogui
print(pyautogui.__version__)

エラーが発生せず、バージョン番号が表示されれば成功です。
次にPyAutoGUIを使う上で理解必須な座標について説明します

PyAutoGUIにおける座標の定義

PyAutoGUIを使ってマウスを操作するには、画面上の「座標」を正しく理解する必要があります。
このセクションでは、座標の定義と基本的な使い方について説明します。

座標とは?

座標は、画面上の特定の位置を表すための数値で、X軸(水平方向)とY軸(垂直方向)の2つの値で構成されています。

  • X軸: 左から右に向かう水平の位置を表します。
  • Y軸: 上から下に向かう垂直の位置を表します。

画面の左上が原点(0, 0)で、右下が画面解像度の最大値となります。たとえば、解像度が1920×1080の画面では、右下の座標は (1919, 1079) になります(座標は0から始まるため)。

現在の座標を確認する

PyAutoGUIを使うと、現在のマウスカーソルの座標を簡単に確認できます:

import pyautogui
print(pyautogui.position())

このコードを実行すると、カーソルの現在位置が (X, Y) 形式で出力されます。

相対座標と絶対座標

PyAutoGUIは、絶対座標(画面の左上を基準とした座標)と相対座標(現在のマウス位置を基準とした座標)の両方に対応しています:

  • 絶対座標: pyautogui.moveTo(x, y) で指定位置に移動
  • 相対座標: pyautogui.move(xOffset, yOffset) で現在位置からのオフセット移動
import pyautogui
pyautogui.moveTo(500, 500)  # 絶対座標で移動
pyautogui.move(100, 50)     # 相対座標で右に100px、下に50px移動

PyAutoGUIのマウス操作で使われる関数

PyAutoGUIでは、マウスを操作するために便利な関数が用意されています。
このセクションでは、それぞれの関数とその使い方を説明します。

moveTo(): マウスを指定位置に移動

moveTo()を使うと、画面上の指定座標にマウスを移動できます。

先ほどの説明にあった通り、moveTo()では絶対座標で移動先を指定します。

pyautogui.moveTo(x, y, duration)
  • x, y: 移動先の座標
  • duration: 移動にかける時間(秒、オプション)
import pyautogui
pyautogui.moveTo(500, 300, duration=1.5)  # (500, 300) に1.5秒かけて移動

move(): 現在位置からの相対移動

move()は、現在のマウス位置を基準に相対的に移動します。

move()は相対座標で移動先を指定します。

pyautogui.move(xOffset, yOffset, duration)
  • xOffset, yOffset: 現在位置からの移動距離
  • duration: 移動にかける時間(秒、オプション)
import pyautogui
pyautogui.move(100, 50, duration=0.5)  # 現在位置から右に100px、下に50px移動

position()とonScreen(): マウス位置の確認と画面内チェック

  • pyautogui.position(): 現在のマウス位置を取得
  • pyautogui.onScreen(x, y): 指定座標が画面内か確認
import pyautogui
print(pyautogui.position())  # 現在の座標を取得
print(pyautogui.onScreen(500, 400))  # True または False を返す

PyAutoGUIでスクリプトを緊急停止させる方法

PyAutoGUIは非常に強力なツールですが、誤ったスクリプトや予期しない動作を防ぐための緊急停止機能(Fail-Safe機能)が用意されています。

マウスが予期せぬ場所に移動し、誤ったボタンをクリックしてしまうことなどがあります。そんなときに使うのが緊急停止機能(Fail-Safe機能)です。

緊急停止機能(Fail-Safe)の概要

PyAutoGUIはデフォルトでFail-Safe機能が有効になっています。
この機能では、マウスカーソルを画面の左上隅(座標 (0, 0))に移動させることで、スクリプトを
強制停止することができます。

これにより、スクリプトが意図しない動作をした場合でも、手動で介入して止めることができます。

関連記事

RPA--PYAUTOGUI
「RPA--PYAUTOGUI」の記事一覧です。

公式ドキュメント

Welcome to PyAutoGUI’s documentation! — PyAutoGUI documentation

コメント

タイトルとURLをコピーしました