【RPAで必須】画面上の座標・サイズの計測方法

【RPAで必須】画面上の座標・サイズの計測方法 プログラミング

「自動でクリックするためにボタンの座標を知りたい」
「PyAutoGUIで画面キャプチャを自動的に撮りたい」
「Pythonを使ってRPAを自作したい」

このような場合には、この記事が参考となります。
この記事では、RPAで必須となる座標・サイズを計測する方法を解説します。

本記事の内容

  • RPAでは必須の座標とサイズ
  • 「MPPUtility」で座標を計測する
  • 「Ruler」でサイズを計測する
  • 「窓フォト」で座標とサイズを計測する

それでは、上記に沿って解説していきます。

RPAでは必須の座標とサイズ

DX推進が、強く叫ばれています。
そのDXで不可欠と言われているのが、RPAです。

RPAには、たくさんのツールが出ています。
有料、無料を含めてです。
ここでは、RPA自体についての説明はしません。

説明するのは、座標とサイズの計測方法についてです。
RPAを実践する場合に、これらの情報は必須となります。

クリックする場所を指定するには、座標が必要です。
また、スクリーンショットを撮影するには、範囲を指定しないといけません。
範囲とは、基準となる始点の座標と縦・横のサイズのことです。

もちろん、これらを簡単に取得できる仕組みを持ったツールもあるのでしょう。
しかし、ここではそんなツールは対象外とします。

主に対象とするのは、次のライブラリを使うケースです。

  • PyAutoGUI
  • pywinauto

上記見ればわかるように、それ専用のGUIツールがないようなケースと言えます。
SikuliXは、GUIの設定ツールが存在します。

そのため、SikuliXは今回の対象となるケースではありません。
それに、SikuliXで指定する座標は通常のマウス座標とは異なります。
独自で管理している空間があるようです。

では、実際にどのようにして座標とサイズを取得するのでしょうか?
それには、以下のフリーのツール・ソフトウェアを利用します。

  • MPPUtility
  • Ruler
  • 窓フォト

OSは、Windowsに限定。
一般的にRPAと言えば、Windowsが多いはずです。

以下では、それぞれのソフトウェアを説明していきます。

「MPPUtility」で座標を計測する

MPPUtility
https://www.vector.co.jp/soft/winnt/util/se487144.html

ダウンロードは、Vectorから可能です。
インストール形式ではないので、気軽に利用できます。

ダウンロードしたzipを解凍して、あとはexeを起動するだけです。
起動すると、次のような画面が表示されます。

マウスカーソルの座標を表示してくれます。
あとは、その座標のカラーも表示します。

終了するには、「インジケーター(通知領域)」にあるアイコンから終了します。

初見では、どこでアプリを終了するのかわかりませんでした。
そのため、無理やりタスクマネージャーで終了させたぐらいです。

「Ruler」でサイズを計測する

Ruler
https://github.com/andrijac/ruler/releases

ダウンロードは、GitHub上から可能です。
現在の最新版は、Ruler 2.0となります。

これのzipをダウンロードします。
MPPUtilityと同じく、インストール不要となります。

そのため、気軽に利用できます。
exeを起動すると定規が表示されます。

これを移動させて、伸縮することでサイズを計測します。

終了させる場合は、右クリックで表示させたメニューから「Exit」を選択。

あと、タスクバーのアイコンからも閉じることができます。

ここまでで、MPPUtilityとRulerを説明しました。
これらを組み合わせれば、座標とサイズの計測が可能です。

しかし、一つのソフトウェアで両方とも取得できるモノが存在しています。
それが、次で紹介する窓フォトです。

窓フォト

窓フォト
https://www.vector.co.jp/soft/winnt/art/se487017.html

ダウンロードは、Vectorから可能です。
これも、インストール形式ではありません。

本来は、スクリーンショットを取得するツールです。
しかし、座標とサイズの両方を計測することができます。

スクショは、窓の中が対象となります。
その際、窓の座標とサイズが表示されています。

そして、座標は赤丸で示した部分です。
残念ながら、4点の座標は計測できません。
必要であれば、計算すればいいだけですけどね。

なお、PyAutoGUIでスクリーンショットを撮影する場合はこれだけで十分です。
PyAutoGUIで画面キャプチャを取る方法を説明しています。

PyAutoGUIでは、次のような指定方法でスクショを撮影できます。

pyautogui.screenshot(region=(1195, 382, 345, 357))

窓フォトとPyAutoGUIは、非常に相性が良いと言えます。

以上、画面上の座標・サイズの計測方法について説明しました。

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