WinActor

2020.04.10
サンプルシナリオ WinActorEye
WinActorEyeを用いて複数のチェックボックスにチェックを入れるサンプルシナリオ

WinActorEyeの「矩形の検出」「ヒストグラム探索」「論理演算」によってチェックボックスを探し、ユーザライブラリを使用して連続してチェックボックスにチェックを入れるサンプルシナリオとなります。

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

サンプルシナリオ概要

WinActorEyeを用いて複数のチェックボックスにチェックを入れるサンプルシナリオ

WinActorEyeを用いて複数のチェックボックスにチェックを入れるサンプルシナリオ

はじめに

WinActorEyeの「矩形の検出」「ヒストグラム探索」「論理演算」によってチェックボックスを探し、ユーザライブラリを使用して連続してチェックボックスにチェックを入れるサンプルシナリオ(以降、本サンプルシナリオ)です。 なお本サンプルシナリオはWinActor.bizの新機能紹介で公開しているものと同様のものになります。

本サンプルシナリオの概要

本サンプルシナリオは、以下の処理を行います。

  • 1 前処理
    • 対象ウィンドウ(サンプルページ)を前面化します。
    • サンプルページの位置情報を取得します。
  • 2「チェックを外す」ボタンを押す
    • WinActorEyeのスナップショット機能によってサンプルページをキャプチャします。
    • ヒストグラム探索を実行し、キャプチャした画像内から「チェックを外す」ボタンを探します。
    • 「チェックを外すボタン」の位置からクリックさせる座標情報を抽出します。
    • サンプルページの位置情報と「チェックを外す」ボタンの座標情報を加算します。
    • マウスカーソルを移動させて左クリックします。
  • 3 チェックボックスを探す
    • WinActorEyeのスナップショット機能によってサンプルページをキャプチャします。
    • 矩形の検出を実行し、キャプチャした画像内から四角形を探します。
    • ヒストグラム探索を実行し、チェックボックスと類似する領域を探します。
    • 論理演算を実行し、矩形の検出結果とヒストグラム探索の結果の共通領域を探します。(チェックボックスと「チェックを外す」ボタンが認識されます。)
    • 選択アルゴリズムを実行し、共通領域の最も左側にある位置情報を取得します。(チェックボックスの位置情報のみ取得します。)
    • チェックボックスの位置情報からクリックさせる座標情報を抽出します。
  • 4-A 全てのチェックボックスにチェックを入れる
    • ① WinActorEyeから座標情報の総数を取得します。
    • ② サンプルページの位置情報とチェックボックスの座標情報を加算します。
    • ③ マウスカーソルを移動させて左クリックします。
    • ④ 全てのチェックボックスに対して②、③を実施します。
  • 4-B 任意のチェックボックスにチェックを入れる
    • ① WinActorEyeから座標情報の総数を取得します。
    • ② チェック対象か確認し、チェック対象外の場合は③、④をスキップする。
    • ③ 対象ウィンドウの位置情報とチェックボックスの座標情報を加算します。
    • ④ マウスカーソルを移動させて左クリックします。
    • ⑤ 全てのチェックボックスに対して②、③、④を実施します。

使用するWinActorモジュール

本サンプルシナリオでは、主に以下のWinActorモジュールを使用します。

  • ノード/変数/四則演算
  • ノード/変数/変数値設定
  • 11_ウィンドウ関連/画面サイズ、位置取得.ums6
  • 11_ウィンドウ関連/ウィンドウ前面化.ums6
  • 12_マウス関連/マウス移動.ums6
  • 12_マウス関連/マウス左クリック.ums6
  • 26_WinActorEye/Eye:マクロ読込み実行.ums6
  • 26_WinActorEye/座標情報取得.ums6
  • 26_WinActorEye/座標数取得.ums6

動作確認環境

本サンプルシナリオは以下の環境で動作確認しています。

  • Windows 10
  • WinActor 6.3.0
  • Internet Explorer11 11.657.18362.0
  • ディスプレイの解像度 1920×1080

制限事項

  • 本サンプルシナリオと同梱のサンプルページはInternet Explorerで開いてください。
  • 必ずチェックボックスと「チェックを外す」ボタンがブラウザ上に表示された状態で実行してください。
  • ウィンドウがデスクトップ上にすべて表示された状態で実行してください。

本サンプルシナリオの使い方

本サンプルシナリオの使い方は以下の通りです。
事前に同梱のサンプルページをInternet Explorerで開いてください。

Step 1. サンプルシナリオの読み込み

ダウンロードしたZIPファイルを展開し、展開したフォルダに含まれている本サンプルシナリオをWinActorで読み込みます。

Step 2. 動作に必要な変数の設定

本サンプルシナリオを実行するために、事前に設定が必要な変数は以下の通りです。
※Step 3で全選択を選択する場合は変数の設定は不要です

設定が必要な変数
設定が必要な変数
  • リンゴにチェックを追加
    • リンゴのチェックボックスにチェックを入れる場合、初期値を"true"に設定してください。チェックを入れない場合は"false"を設定してください。
  • ミカンにチェックを追加
    • ミカンのチェックボックスにチェックを入れる場合、初期値を"true"に設定してください。チェックを入れない場合は"false"を設定してください。
  • ブドウにチェックを追加
    • ブドウのチェックボックスにチェックを入れる場合、初期値を"true"に設定してください。チェックを入れない場合は"false"を設定してください。

Step 3. 選択方法の選択

「選択方法設定」ノードで呼び出すサブルーチンを「全選択」か「任意選択」かを選択します。

  • 全選択
    • 全てのチェックボックスを対象にチェックします。
  • 任意選択
    • 任意のチェックボックスを対象にチェックします。
選択方法の設定
選択方法の設定

Step 4. サンプルシナリオの実行

WinActorで本サンプルシナリオを実行します。

Step 5. サンプルシナリオ実行終了後の確認

シナリオ実行が成功した場合、サンプルページのチェックボックスにチェックが入ります。

トラブルシューティング

本サンプルシナリオでエラーが発生した場合、以下を確認してください。

発生現象 確認内容
座標情報取得ユーザライブラリの実行失敗 WinActorEyeの座標リソース画面を表示し、座標リソースが登録されているか確認してください。座標リソース画面を表示させる方法については「WinActorEye 操作マニュアル」の「座標リソース」の節を参照してください。
スナップショットの作成に失敗 ステップ実行および再開すると、エラーになることがあります。「Eye:マクロ読込み実行」の実行直前でサンプルページを最小化してください。この事象はWinActor v7.1で修正される予定です。
モジュールの読み込みに失敗 プラグイン設定が無効になっている可能性があります。WinActorEyeのプラグインを有効にしてください。詳しくは「WinActor 操作マニュアル」の「プラグイン設定」の項を参照してください。

サンプルシナリオ解説

本サンプルシナリオで使用している実装テクニックおよび応用の方法について説明します。

WinActorEyeでチェックボックスを探す方法

WinActorEyeは、従来の画像マッチング、輪郭マッチングでできなかった一度の処理で複数の対象を認識する複数マッチングが可能になります。 その一例としてサンプルページから連続したチェックボックスを認識し、全てまたは任意のチェックボックスにチェックを入れる方法を紹介しています。
本サンプルシナリオでは、チェックボックスが四角形であることに着目しています。 WinActorEyeのフィルタ「矩形を検出」は、入力した画像上から四角形を探します。 サンプルページの場合、チェックボックス以外に最大化ボタンなどの四角形も検出します。

矩形の検出結果
矩形の検出結果

WinActorEyeのフィルタ「ヒストグラム探索」を使用し、チェックボックスを探します。 「ヒストグラム探索」はアルゴリズムの特性上、実際のマッチング対象よりも大きく認識されます。 サンプルページのような近距離で連続したチェックボックスの場合、探索結果が繋がることがあります。

ヒストグラム探索結果
ヒストグラム探索結果

2つのフィルタの結果をもとに、両条件に共通する領域を取得するために、WinActorEyeのフィルタ「論理演算」を使用します。 「論理演算」のANDによって2つの検出結果の画像から、共通する白い領域を取得します。

論理演算結果
論理演算結果

ブラウザの表示サイズによっては、上述までの処理だけではチェックボックスの矩形情報のみを取得できないことがあります。 本サンプルシナリオでは、WinActorEyeのフィルタ「選択アルゴリズム」を用いることで対応しています。 入力に指定した矩形リソースの矩形情報(画面上の赤枠)の中から、特定の矩形情報を選択します。 サンプルページにおいてチェックボックスは「チェックを外す」ボタンよりも左側にあるため、「最も左」を選ぶことでチェックボックスの矩形情報を取得できます。

選択アルゴリズム結果
選択アルゴリズム結果

WinActorEyeから座標情報を取得する方法

WinActorがWinActorEyeから座標情報を取得するには、ユーザライブラリ「26_WinActorEye/座標情報取得.ums6」を使用します。 このユーザライブラリでは取得したい座標情報を持つWinActorEyeの座標リソース名と座標情報のインデックス、座標情報を格納するWinActorの変数を指定します。

座標情報の取得イメージ
座標情報の取得イメージ

探索対象とするウィンドウを変更したい場合

探索対象とするウィンドウを変更する場合は以下の手順でシナリオおよびマクロファイルを修正してください。

Step 1. ウィンドウ識別名の再設定[シナリオの編集]

フローチャート画面内において「ウィンドウ識別名を設定」という付箋がついたライブラリのウィンドウ識別名を全て設定しなおしてください。

Step 2. WinActorEyeのマクロファイルの読込み[マクロの編集]

WinActorEyeのマクロ編集画面でマクロファイルを開きます。

Step 3. コマンド名「capture」の削除[マクロの編集]

コマンド名「capture」を含む行を削除します。

マクロ項目の削除方法
マクロ項目の削除方法

Step 4. コマンドの再記録[マクロの編集]

マクロ記録を有効にした状態でスナップショット機能で対象ウィンドウをキャプチャします。

ウィンドウのキャプチャ方法
ウィンドウのキャプチャ方法

Step 5. コマンドの移動とマクロファイルの保存

Step 4で記録したコマンド名「capture」をStep 3で削除した位置に移動後、マクロファイルを保存します。

マクロ項目の移動方法
マクロ項目の移動方法
修正後のマクロ編集画面
修正後のマクロ編集画面

※保存時にファイル名を変更した場合、フローチャート画面の「Eye:マクロ読込み実行」もマクロファイル名を変更する必要があります。

変更履歴

版数 日付 修正内容
1.0版 2020/04/10 初版
1.1版 2023/6/12 ・注意事項を削除
・ファイル名を「SS2004_10613_MultipleMatchingUsingWinActorEye_1.0.1.zip」に変更

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

"WinActorEye"に関連するその他のサンプルシナリオ

サンプルシナリオ一覧へ戻る
当サイトでは、お客さまに最適なユーザー体験をご提供するためにCookieを使用しています。当サイトをご利用いただくことにより、お客さまがCookieの使用に同意されたものとみなします。詳細は、「プライバシーポリシー」をご確認ください。