こんにちは。RPAエキスパートの笹谷です。今回はWinActorで画像マッチングを行う方法を紹介します。
[sc_blogcard url=”https://www.venture-net.co.jp/rpa/winactor/”]
ノード「画像マッチング」の考え方とは
画像マッチングの使い方に入る前に、そもそもどのような場面で画像マッチングを使うべきなのでしょうか。
私の考える使うべきタイミングは以下の2つです。
自動記録・キーボード入力などが使えないとき
画像マッチングを用いた操作は、基本的に自動記録アクションやキーボードによるショートカットなどが使えない場合の手段だと考えてください。直観的でわかりやすいですが、どうしてもシナリオを動作する環境に依存しがちになりますので、特に開発環境以外で動作を考えている場合はまずは別の手段を考えてください。自動記録アクションやショートカットが使えるのであれば、わざわざ動作が不安定になりがちで速度も遅い画像マッチングを使用するメリットはあまりありません。
取得・確認したい画像があるとき
画像が更新されているかの確認をしたいときなどに使用することは考えられます。その際は画像マッチングを使用することになります。
「画像マッチング」の使い方について
実際の設定画面を見ながら説明していきます。
- マッチング画像:マッチング対象となる範囲を選択します。赤枠で表示されます
- 検索範囲(任意):緑枠で表示され、キャプチャから検索する範囲を選択します。あまり使いません
- マウス操作:十字キーで表示される部分をクリックなど行います
- マスク範囲(内側):選択した範囲を黒塗りします。個人情報などがある場合に使います
- マスク範囲(外側):選択した範囲以外を黒塗りします
- キャプチャ画像選択:すでに保存してある画像などをキャプチャ画像に使うときに
- ウィンドウ識別名:どのウィンドウで画像マッチングを行うかを選択します
- ウィンドウ選択:キャプチャするウィンドウを選択します
- キャプチャのタイミング:即時の場合だと、キャプチャするウィンドウを選択した瞬間にキャプチャします。なんらかの動作している最中をキャプチャしたいときは時間を変更します
- マッチ率:画像マッチングの正確さを選択します。環境にもよりますが、80~90を選択することが多いです
- タイムアウト:画像マッチングをどれくらい行うかを選択します。10000ミリ秒だと長すぎることが多いので、5000ミリ秒などにします
- アクション:画像マッチングで行いたい動作を選びます。「状態チェック」だと、画像マッチングがうまくいったときにtrueが状態取得結果に格納されます。うまくいかなかったときはfalseが格納されます。よく使うのは「状態チェック」と「左クリック」です
- 状態取得結果:状態チェックした際にtrueかfalseを格納する変数を選びます。
クリックしたいとき
ウィンドウを選択→マッチング範囲を選択→クリックする場所を選択→「左クリック」を選択→ダミー変数(使わない変数)を入力
画像があるかチェックしたいとき
ウィンドウを選択→マッチング範囲を選択→取得結果を入れる変数を入力
画像マッチングを使うときに注意すべきポイント
画像マッチングはシナリオを動かすパソコンの設定に依存しがちです。そのため、画像マッチングを使用したシナリオを動かす場合は以下のポイントに注意してください。
PCの解像度・拡大縮小を開発時と合わせる
開発したパソコンの解像度や縮尺が異なる場合、マッチングがうまくいきません。そのため、開発時は画面の拡大をいったん100%にするといった変更が必要になります。
ウィンドウの拡大縮小を開発時と合わせる
同様に、ウィンドウの縮尺が異なる場合もマッチングがうまくいきません。なるべく動かす端末の環境に依存しないように、画像マッチングの前にライブラリ「ウィンドウの表示変更」で縮尺を合わせましょう。
ウィンドウ識別ルールを緩めに
これは画像マッチングの使用に限りませんが、ソフトウェアのバージョンによっては、同じ動作でもウィンドウの識別名が異なる場合があります。その対策としてあらかじめウィンドウ識別ルールを変更しておきましょう。
実際の動作の様子や、自動スクロールと組み合わせたシナリオは以下の動画にて解説しております。
いかがだったでしょうか。画像マッチングは直観的で使いやすいですが、端末の環境に依存するデメリットもありますので、使用する際は端末環境をなるべく合わせるといった準備とセットで考えるようにしましょう。
[sc_blogcard url=”https://www.venture-net.co.jp/rpa/win-actor-5steps-point/”]