Docly Child

画面上に指定した画像が存在するか確認する

34 views

※この記事はデスクトップ版AUTOROにおけるローカルアプリ操作に関する記事です。

ブラウザ(Chrome, Edge)で開いたWebページ上に要素や特定のURLを持つ画像が存在するか?を確認する場合は、
デスクトップ版であっても「要素を見つける(FindElement)」アクションをご使用ください。

要素を見つけるアクションの参考ページ: CSSセレクタを文字列で検索(FindElement)


画像の存在有無を確認する場面

順序に従った処理を実施する際、次のステップに移る前に「画面上に何らかの画像が存在しているか?いないか?」を判断するケースで使用します。

 ImageExists

ImageExistsアクションを使うことで、「ある画像が存在しているか」を判断することができます。

画像があったらtrue, 画像がなかったらfalseが出力されます。
このアクションを使用することで以下のような処理が実現できます。

  • 「画面上にある画像が表示されていたら処理Aを実施、表示されていなかったら処理Bを実施」
  • 「特定の画像が表示されるまで最大30秒待機する」

本ページでは上記2処理の設定例を紹介します。

 ワークフロー設定例

以下のサンプルの作成例を紹介します。

  • 「画面上からオートロくんが見つかった場合は、”見つかった”という文章を出力
  • 「画面上からオートロくんが見つからなかった場合は、”見つからなかった”という文章を出力」

  • 画面上に画像が存在するか確認する(ImageExists)アクションを設定します
  • 「ここをクリック」をクリックします
  • 画面が暗くなったら、上記のオートロくんを撮影します

画面上に、1で撮影した画像と似た画像があると、AUTORO操作者が意図する画像が画面上に表示されていない場合であっても、機械的には「1で撮影した画像が表示されている」と判断されることがあります。

このような事態を回避するため、画像の信頼度を調整する必要があります。

  • アクションの詳細設定を開きます
  • 信頼度を95にします

画像がある場合とない場合で分岐するため、変数に保存します。

  • 変数に保存を設定します
  • 変数名を以下とします
    hasAUTORO
  • 値を1のアウトプットにします

 

オートロくんが見つかった場合の条件分岐を設定します

  • IF(条件分岐)を設定します
  • 条件式を以下とします
    ${hasAUTORO}
  • テキストを作成アクションを設定します
  • 「見つかった」と入力します

オートロくんが見つかった場合の条件分岐を設定します

  • IF(条件分岐)を3の条件分岐の下に設定します
  • 条件式を以下とします
    ${!hasAUTORO}
  • テキストを作成アクションを設定します
  • 「見つからなかった」と入力します

# 画面上に画像が存在するか確認する(ベータ版)
+image_exists_1:
  action>: ImageExists
  target: ''
  confidence: 95
  private: false

# 変数に保存
+store_value_1:
  action>: StoreValue
  key: hasAUTORO
  value: +image_exists_1
  setIfNotDefined: false
  private: false

# 真のとき_見つかった
+if_1:
  if>: ${hasAUTORO}
  _do:

    # テキストを作成
    +text_1:
      action>: Text
      text: '見つかった'
      private: false

# 真のとき_見つからなかった
+if_2:
  if>: ${!hasAUTORO}
  _do:

    # テキストを作成
    +text_2:
      action>: Text
      text: '見つからなかった'
      private: false

 特定の要素が表示されるまで指定した時間だけ待機する

以下のサンプルの作成例を紹介します。

「PDFを開いて、Adobe Acrobat Readerが起動したかどうかを判定(最大30秒間待機)」

Adobe Acrobat Readerが開いたかどうかを画像で判定するためには、Adobe Acrobat Readerが開いた状態の画像を使用する必要があります。

ここでは、以下の画像が画面上に表示されたら、「Adobe Acrobat Readerが開いた」と見なすことにします。

AUTOROからPDFを開きます。
なお、以下の内容はPCに「PDFをAdobe Acrobat Readerで開くように設定してある」と仮定したものとなります。

  • SystemOpen(アプリケーションを開く)アクションを設定します
  • 何らかのPDFファイルのローカルパスを指定してください

パスの指定方法はこちら:AUTORO desktopでローカルファイルを使用する

 

最大30秒の待機は、「5秒待機を6回繰り返す」という形式で実現します。

  • 繰り返しを設定します
  • 繰り返しを6とします

  • 画面上に画像が存在するか確認する(ImageExists)アクションを設定します
  • 「ここをクリック」をクリックします
  • 画面が暗くなったら、1に示した「Adobe Acrobat Readerが開いたことを意味する画像」を撮影します

AUTOROは、4で指定した画像と画面の状態を比較(一致確認)して、指定した画像が存在するかどうかを判定しています。

この画像判定の際の画像の正確性(どの程度似ていたら存在していると見なすか)を設定します。

  • ImageExistsの詳細設定を開きます
  • 信頼度を99にします
  • 実行後待機に5000(5秒)を設定します

画像が発見されたら、そのまま繰り返しを抜けます。

  • BreakIf(繰り返しを終了する)を設定します
  • BreakIfのインプットにImageExistsのアウトプットを指定します

# アプリケーションを開く
+system_open_1:
  action>: SystemOpen
  file: 'C:\Users\xxx\Downloads\hogehoge.pdf'
  waitBefore: 200
  waitAfter: 200
  private: false

# 繰り返し
+loop_1:
  loop>: 6
  _do:

    # 画面上に画像が存在するか確認する(ベータ版)
    +image_exists_1:
      action>: ImageExists
      target: ''
      confidence: 99
      waitAfter: 5000
      private: false

    # 繰り返しを終了する
    +break_if_1:
      break_if>: +image_exists_1

 ※画像の信頼度について

95~99で調整することを強く推奨します。

ImageExists 画像

このページは役に立ちましたか?