Power Automate Desktop(PAD)で、画像認識(画像マッチング)で画面上のボタンをクリックする方法について解説します。
PADの画像認識機能を使うシーンとしては、

上記のように、PCのデスクトップ上にあるアイコンをクリックしたり、Webページの画像になっているボタンをクリックしたりと、画像を認識させて、それに対してクリックしたい場合に使用します。
「マウスを画像に移動」アクション
PADのフロー編集画面で、「マウスを画像に移動」をドラッグアンドドロップで真ん中の白いエリアに配置します。

以下のポップアップが表示されますので、「画像を選択してください」を押します。

「画像のキャプチャ」を押します。

クリックしたい画像を選択する
虫眼鏡のような丸いエリアが表示されますので、

クリックしたい画像を、マウスをドラッグして範囲選択します。
※クリックではなく、範囲選択してください!

範囲選択が終わると、「画像が正常にキャプチャされました」と表示されます。
選択した画像が正しくキャプチャできていれば、OKを押します。

アクション設定の画面に戻ると、キャプチャした画像が表示されています。

クリックの設定
キャプチャした画像をクリックするよう設定します。
「マウス移動後にクリックを送信します」をオンにします。

すると、「クリックの種類」というプルダウンが表示されますのでクリックの種類を選択します(左クリック、右クリック、ダブルクリックなど)

これで、画像認識して画像をクリックする部分はできました。

※画面上に表示されていないと画像認識できない
本アクションは、画面上に対象の画像が表示されていないと画像認識することができません。例えば、
- Webページを開いたらポップアップ広告が出てボタンが隠れている
- 別のウインドウを開いていて、対象の画像が画面上に表示されていない
等の状態でフローを実行すると、画像を認識できない旨のエラーが発生します。

Image not found on screen.
デスクトップを表示(全てのウインドウを最小化)
デスクトップ上のアイコンをクリックしたい場合には、「デスクトップを表示」アクションを追加します。

これでフローを実行すると、開いているすべてのウインドウが最小化されデスクトップが表示され、対象のアイコンがダブルクリックされてGoogle Keepが開きます。

Webページ上の画像ボタンをクリックしたい場合
Webページ上の画像や、UI要素では指定することのできない、画像になっているボタンをクリックしたい場合は、以下のようなフローになります。

ここで重要となるのは、「ウインドウにフォーカスする」というアクションです。このアクションがない場合、フロー実行後に対象のページが後ろに隠れてうまく押せないことがあります。

「ウインドウにフォーカスする」アクションを追加し、以下のように設定します。
- ウインドウの検索モード:ウインドウのインスタンスハンドルごと
- ウィンドウインスタンス:%Browser% (対象のWebページ)

これで実行すると、対象のWebページが一番前のウインドウに来るため、画像をクリックすることができるようになります。
画像認識がうまくいかないとき
画像キャプチャを正確に行う
「マウスを画像に移動」アクションでクリックしたい画像のキャプチャを行うときに、なるべく余白を入れず、クリックしたい画像のみを選択するようにすると正確に認識されやすくなります。

許容値を変更してみる
画像認識がうまくいかない or うまくいったりいかなかったりする場合は、「マウスを画像に移動」アクションの詳細設定にある「許容値」の値を大きくしてみてください。

「許容値」というのは、検索対象の画像に対して、実際の画像がどれだけ異なるかの数値です。これを少しずつ微調整することで、正しく判定できる確率を上げることができます。
異なるPCで実行した際に判定エラーとなる場合がある
Microsoft公式サイト内に、
Power Automate で画像をキャプチャするとき、保存された画像は、ソース コンピューターの画面解像度と DPI スケーリングの影響を受けます。
異なる画面またはマシンでフローが画像認識を実行する場合は、すべての画面が正確な画面解像度であることを確認する必要があります。
引用:画面解像度が異なるマシンで画像認識を使用する
と記載がありました。フローを作成したPCと、実際に実行するPC間に解像度の差がある場合に起こりうるエラーです。
回避策としては、「画面の解像度を設定」アクションを使用して、あらかじめ解像度を固定する方法があります。
まとめ
今回は、Power Automate Desktop(PAD)で、画像認識(画像マッチング)で画面上のボタンをクリックする方法について解説しました。
「マウスを画像に移動」アクションは、Webページの画像をクリックしたいけどUI要素がうまく取れない場合や、各種アプリケーションの起動などのローカル操作等に活用できるアクションです。
参考:Power Automate マウスとキーボードのアクション

コメント