コボットPortal

ウィンドウアプリケーションやブラウザで要素に関するエラー原因・対処法

コボットStudioでワークフロー作成を行う際に、クリックや文字入力などのアクティビティを設置するときは要素を取得できたのに、実行時は「要素が見つからない」に類するエラーになったり、そもそも要素の指定がうまくいかないケースがあります。 要素に関するエラー原因や対処法の例をご紹介します。

目次
  1. 【ワークフロー作成時】ブラウザ・ウィンドウアプリケーション両方
    1. ケース:取りたい要素の値が起動するたびに変わる
  2. 【ワークフロー作成時】ブラウザ
    1. ケース1:拡張機能が入っていない(Chrome・Firefox、Edge)
    2. ケース2:(Flashなど動的に表示されるもので)取得したい要素にタグなどが割り振られていない
    3. ケース3:ブラウザの設定画面や印刷画面などURLを指定せずに開いた画面を操作できない(Chrome・Fierfox・Edge)
  3. 【ワークフロー作成時】ウィンドウアプリケーション
    1. ケース1:アプリが古い(UIA3では正しく要素を取得できない)
    2. ケース2:アプリを構成するプログラムが構造化されていない
  4. 【ワークフロー作成時】その他
  5. 【ワークフロー実行時】ブラウザ・ウィンドウアプリケーション両方
    1. ケース1:実行時に、取得したい場所の読み込みが完了していない(ネット環境が遅い・フリーズ等)
    2. ケース2:動的に画面に表示される要素の場合、要素が画面に表示される状態になって初めて要素が取得できる状態になる場合
    3. ケース3:目視では最前面に操作対象画面が表示されているが、内部的に操作対象として認識されていない

1.【ワークフロー作成時】ブラウザ・ウィンドウアプリケーション両方

ケース:取りたい要素の値が起動するたびに変わる

対処法の一例

  • 操作対象がユニークになるように、要素をワイルドカードで指定したり、別の要素にチェックを入れて特定する
  • ClassNameやファイル名等、起動毎に英数字等が異なる箇所をワイルドカード「*(アスタリスク)」に変更
  • 変わる要素を使わず(チェックを外す)別の固定要素をチェックする
  • セレクタ取得時にAutomationIDにチェックが入っている場合、他の値(IndexInParent等)にチェックを入れる

2.【ワークフロー作成時】ブラウザ

ケース1:拡張機能が入っていない(Chrome・Firefox、Edge)

対処法の一例

  • 各ブラウザに対応する拡張機能を入れる

ケース2:(Flashなど動的に表示されるもので)取得したい要素にタグなどが割り振られていない

※Adobe Flash Playerは2020年末をもってサポート終了

対処法の一例

ケース3:ブラウザの設定画面や印刷画面などURLを指定せずに開いた画面を操作できない(Chrome・Fierfox・Edge)

対処法の一例

3.【ワークフロー作成時】ウィンドウアプリケーション

ケース1:アプリが古い(UIA3では正しく要素を取得できない)

対処法の一例

  • 「オートメーションベース」プロパティを「UIA3」から「UIA2」に変更する

ケース2:アプリを構成するプログラムが構造化されていない

対処法の一例

4.【ワークフロー作成時】その他

1.から3.に記載されている対処法を試してもうまくいかなかった場合、次のことをお試しください(一例)

  • 「画像をクリック」アクティビティを使用し、取得したい要素を画像として設定する
  • 「ショートカットキーを送信」アクティビティを使用し、アプリが対応しているショートカットキー(例:「Ctrl」+「C」)を使用する
  • (ブラウザの場合)「Javasctiptを挿入」アクティビティを使用し、Javascriptで操作

5.【ワークフロー実行時】ブラウザ・ウィンドウアプリケーション両方

ケース1:実行時に、取得したい場所の読み込みが完了していない(ネット環境が遅い・フリーズ等)

対処法の一例

  • 「要素の有無を検出」アクティビティを用いて、取得したい場所の読込の完了を確認する
  • 読み込みが完了するまで次の操作を行なわないようにする
  • 「待機」アクティビティを数秒(2-5秒)配置する

ケース2:動的に画面に表示される要素の場合、要素が画面に表示される状態になって初めて要素が取得できる状態になる場合

※ツリー形式になっていて「一つ下の要素を表示」をクリックして画面に表示するタイミングで要素が取得できる状態になる、等

対処法の一例

  • 要素を画面上に表示させてから行ないたい操作を実行する

ケース3:目視では最前面に操作対象画面が表示されているが、内部的に操作対象として認識されていない

対処法の一例

  • 操作対象を明確にする
  • 直前にアタッチブラウザ等を入れて明示的に操作したいブラウザ・アプリを選択する(前面に表示する)


印刷
S
Saki is the author of this solution article.

この回答は役に立ちましたか? はい いいえ

フィードバックを送信
お役に立てなくて申し訳ありません。フィードバックを残し、このアーティクルを改善するのにどうかご協力ください。