★アクションの説明、概要
JobAutoでアプリ画面内の文字を探す範囲を指定し、 その範囲内の指定した文字に対して マウス操作を行う方法について説明します。
「この範囲内の指定の文字に対してマウス操作」アクションでは、 アプリ画面の中から文字を探す範囲を指定し、 その範囲内をOCRで解析して目的の文字を探します。
見つかった文字に対して、 クリック、ダブルクリック、右クリック、 マウス移動、スクロールなどのマウス操作を実行できます。
アプリ全体から文字を探すと目的の文字を安定して認識できない場合や、 同じような文字が複数の場所に表示されている場合などに、 文字を探す範囲を限定して操作対象を指定できます。
文字認識にはGoogleのAPIを使用します。 OCR変換する文字はJobAutoからGoogleへ送信されるため、 インターネットへの接続が必要です。
インターネット接続にプロキシサーバを使用している環境では、 プロキシの設定を行ってください。 また、インターネットへのアクセス先を制限している場合は、 vision.googleapis.comへの通信を許可してください。
★アクションの作成方法
★アクションの設定画面について
アクション設定画面の設定項目について説明します。「画面を読み込み」「操作対象にフォーカス」「背景色」については、アプリデザインの使い方をご確認ください。
1.基本設定
1-1.文字が見つかるまでのタイムアウト(秒)
設定した時間まで、指定した文字をロボットが探し続けます。
1-2.クリックパターン
クリックの種類を選択します。
・クリック
マウスのクリックを行います。
・ダブルクリック
マウスのダブルクリックを行います。
・右クリック
右クリックを行います。
・マウス移動
カーソルを移動します。
・マウスダウン
マウスの左ボタンを押した状態にします。
・マウスアップ
押した状態になっているマウスの左ボタンを離します。
・上スクロール
マウスを使って上にスクロールします。
・下スクロール
マウスを使って下にスクロールします。
1-3.対象となる値
指定した範囲内から探す文字を設定します。対象となる値には変数を使用できます。
・検索ボタン 
対象となる値に設定された文字を画面内から探します。
1-4.インデックス
同じ文字が指定範囲内に複数ある場合に、何番目の文字を操作するか指定します。インデックスは0から始まるため、1番目の文字を指定する場合は「0」を設定します。
1-5.この範囲で探す(範囲設定方法)
指定した文字を探す範囲を設定します。
・座標
画面内の座標で範囲を指定します。アクションを作成したPCと異なるPCで実行したときに、PCの画面の大きさの違いで設定した座標がずれることがあります。
・比率
画面全体に対しての比率で範囲を指定します。アクションを作成したPCと異なるPCで実行したとき、PCの画面の大きさが違っても探す範囲がずれることはありません。ただアプリ全体の大きさが変わるとずれることがあります。
・全体
範囲を画面全体にします。
・左上
画面左上からの場所を示す数値です。範囲指定方法によって、数値が異なります。変更可能です
・右上
画面右上からの場所を示す数値です。範囲指定方法によって、数値が異なります。変更不可能です
・左下
画面左下からの場所を示す数値です。範囲指定方法によって、数値が異なります。変更不可能です
・右下
画面右下からの場所を示す数値です。範囲指定方法によって、数値が異なります。変更可能です
1-6.プロキシ
Googleへの通信を行うときに、プロキシサーバを経由するかどうかを設定します。
・Proxyを使用する
プロキシサーバを経由してGoogleへ通信します。
・Proxyを使用しない
プロキシサーバを経由せずGoogleへ通信します。
1-7.変換時のオプション
OCRで変換するときに優先する言語を設定します。
・日本語を優先しない
日本語を優先せずにOCR変換します。
・日本語を優先する
日本語を優先してOCR変換します。
1-8.見つかった文字一覧
対象となる値へ設定した文字が画面内にあるか、検索ボタンで探すことができます。このときにOCRで解析した結果が表示されます。設定した文字が探せない場合に、文字を変更するときの参考にしてください。

2.高度な設定
2-1.アクション有効
このアクションを無効にする場合は、チェックを外します。
2-2.一致したイメージショットをログに残す
チェックを入れた状態でスケジュール実行すると、実行ログに処理対象として認識した文字が画像として表示されます。
3.エラー発生時の対応
3-1.エラー時の処理
エラーが発生したときの設定を行います。詳細はこちらをご確認ください。
3-2.基点となる条件分岐
エラー時の処理で条件分岐の次のフローに移動を選択したときに、設定することができます。アクションでエラーが発生した場合、移動先の条件分岐を選択します。
3-3.エラー時にログ出力
エラーが発生したときにログに出力するか設定します。スケジュール実行したときのログへ出力されます。エラーとして扱わない場合は、チェックを外します。詳細はこちらをご確認ください。
文字を探す範囲を限定してマウス操作する
「この範囲内の指定の文字に対してマウス操作」では、 アプリ画面内で文字を探す範囲を指定し、 その範囲内をOCRで解析して目的の文字を探します。
見つかった文字に対して、 クリックやダブルクリック、右クリックなどの マウス操作を行います。
「指定の文字に対してマウス操作」との違い
「指定の文字に対してマウス操作」と 「この範囲内の指定の文字に対してマウス操作」は、 どちらもOCRで画面上の文字を認識してマウス操作します。
| アクション | 文字を探す範囲 |
|---|---|
| 指定の文字に対してマウス操作 | アプリ画面から指定した文字を探して操作します。 |
| この範囲内の指定の文字に対してマウス操作 | あらかじめ指定した範囲内から文字を探して操作します。 |
アプリ全体から文字を探すと安定して認識できない場合や、 探す場所を限定できる場合は、 文字を探す範囲を指定する方法を検討してください。
文字を探す範囲を指定する
「この範囲で探す」では、 指定した文字をOCRで探す範囲を設定します。
| 範囲設定方法 | 内容 |
|---|---|
| 座標 | 画面内の座標を使って文字を探す範囲を指定します。 |
| 比率 | 画面全体に対する比率を使って文字を探す範囲を指定します。 |
| 全体 | 画面全体を文字の検索範囲にします。 |
座標と比率の違い
「座標」で範囲を指定した場合、 アクションを作成したPCと異なるPCで実行すると、 画面サイズの違いによって 設定した検索範囲がずれることがあります。
「比率」で指定した場合は、 実行するPCの画面サイズが異なっても 検索範囲がずれないように指定できます。
ただし、 アプリ全体の大きさが変わった場合は 検索範囲がずれることがあります。
探す文字を設定する
「対象となる値」には、 指定した範囲内から探す文字を設定します。
対象となる値は変数参照できます。 前の処理で取得した文字などを変数へ格納し、 その値を検索対象として使用することもできます。
OCRが認識した文字を確認する
検索ボタンを使用すると、 「対象となる値」に設定した文字を 画面内から探すことができます。
検索時にOCRで解析された結果は、 「見つかった文字一覧」に表示されます。
画面上には目的の文字が表示されているのに JobAutoで見つけられない場合は、 OCRがその文字をどのように認識しているか確認してください。
長い文字列が見つからない場合
複数の単語を組み合わせた文字列は、 OCRするときに毎回同じ位置で区切って認識されるとは限りません。
そのため、 画面上には目的の文字列が表示されていても、 設定した文字列とOCRの解析結果が一致せず 見つからない場合があります。
文字を見つけられない場合は、 「見つかった文字一覧」でOCRの解析結果を確認し、 検索する文字をより短い単語にできないか確認してください。
同じ文字が複数見つかる場合
指定した範囲内に同じ文字が複数あり、 「対象となる値」だけでは操作対象を1つに絞り込めない場合は、 「インデックス」を使用します。
インデックスは0から始まるため、 1番目の文字を指定する場合は「0」を設定します。
日本語を優先して文字を認識する
「変換時のオプション」では、 OCR変換するときに日本語を優先するか設定できます。
| 設定 | 動作 |
|---|---|
| 日本語を優先しない | 日本語を優先せずにOCR変換します。 |
| 日本語を優先する | 日本語を優先してOCR変換します。 |
日本語の文字を操作対象にする場合は、 「見つかった文字一覧」の解析結果とあわせて 設定を確認してください。
文字認識ではGoogleとの通信が発生します
文字マッチングでは、 OCR変換にGoogleのAPIを使用します。
OCR変換する文字はJobAutoからGoogleへ送信されるため、 このアクションを実行するには インターネットへの接続が必要です。
インターネットへのアクセス先を制限している環境では、 vision.googleapis.comへの通信を許可してください。
プロキシ環境で使用する場合
インターネット接続にプロキシサーバを使用している環境では、 「プロキシ」の設定を確認してください。
| 設定 | 動作 |
|---|---|
| Proxyを使用する | プロキシサーバを経由してGoogleへ通信します。 |
| Proxyを使用しない | プロキシサーバを経由せずGoogleへ通信します。 |
スケジュール実行時に認識した文字を確認する
高度な設定の 「一致したイメージショットをログに残す」を有効にすると、 スケジュール実行時のログに 処理対象として認識した文字がイメージとして表示されます。
想定とは異なる文字を操作している場合などは、 ログに残されたイメージも確認してください。
指定範囲内の文字を正しく操作できない場合
目的の文字を見つけられない場合や、 想定とは異なる文字を操作する場合は、 次の点を確認してください。
- 操作対象となるアプリへ正しく接続しているか
- アプリデザインに最新の画面が表示されているか
- 「この範囲で探す」で指定した範囲に目的の文字が含まれているか
- 座標または比率による範囲指定が実行環境に合っているか
- 検索ボタンで目的の文字を認識できるか
- 「見つかった文字一覧」でOCRの解析結果を確認したか
- 長い文字列の場合は、より短い単語で指定できないか
- 同じ文字が複数ある場合はインデックスが適切か
- 日本語の場合は「日本語を優先する」の設定が適切か
- インターネットやプロキシ、vision.googleapis.comへの通信に問題がないか
- 文字の表示に時間がかかる場合はタイムアウト時間が適切か

[…] ・アプリ操作の文字マッチングにおいて、文字を探す範囲を指定できるよう機能追加こちらをご覧ください […]
[…] […]