コボットPortal

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

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

要素に関するエラー原因や対処法の例をご紹介します。

1.考えられる原因

考えられる原因の一例を記載します。

マークの意味はこちらです。
◎:「要素を指定」からセレクタを設定したが、ワークフロー実行時にエラーになる
★:「要素を指定」からセレクタの設定自体ができない

【A】ブラウザ・ウィンドウアプリケーション両方

  1. 【◎】取りたい要素の値が起動するたびに変わる
  2. 【◎】実行時に、取得したい場所の読み込みが完了していない(ネット環境が遅い・フリーズ等)
  3. 【◎】動的に画面に表示される要素の場合、要素が画面に表示される状態になって初めて要素が取得できる状態になる場合(ツリー形式になっていて「一つ下の要素を表示」をクリックして画面に表示するタイミングで要素が取得できる状態になる、等)
  4. 【◎】目視では最前面に操作対象画面が表示されているが、内部的に操作対象として認識されていない

【B】ブラウザ

  1. 【★】拡張機能が入っていない(Chrome・Firefox、Edge)
  2. 【★】(Flashなど動的に表示されるもので)取得したい要素にタグなどが割り振られていない(※Adobe Flash Playerは2020年末をもってサポート終了)
  3. 【★】ブラウザの設定画面や印刷画面などURLを指定せずに開いた画面(Chrome・Fierfox・Edge)

【C】ウィンドウアプリケーション

  1. 【◎】アプリが古い場合、UIA3では正しく要素を取得できない
  2. 【★】アプリを構成するプログラムが構造化されていない


2.試していただきたいこと

原因に対する対処法の一例を記載します。

【A】-1. 

操作対象がユニークになればいいので、要素をワイルドカードで指定したり、別の要素にチェックを入れて特定するよう対処します。

  • ClassNameやファイル名等、起動毎に英数字等が異なる箇所をワイルドカード「*(アスタリスク)」に変更

  • 変わる要素を使わず(チェックを外す)別の固定要素をチェックする

  • セレクタ取得時にAutomationIDにチェックが入っている場合、他の値(IndexInParent等)にチェックを入れる

【A】-2.

読み込みが完了するまで次の操作を行なわないようにします。

  • 「待機」アクティビティを数秒(2-5秒)配置する

  • Native Browserの場合は、「実行前の待機時間」プロパティと「実行後の待機時間」プロパティで待機時間(ミリ秒単位)を設定する

【A】-3.

要素を画面上に表示させてから行ないたい操作をします。

  • 「ホバー」アクティビティなどで対象の要素を表示させてから、「クリック」などの操作を行なう

【A】-4.

操作対象を明確にします。

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

  • 操作したい対象を操作する前に画面に表示するようにする

【B】-1.

拡張機能を入れます。

  • 各ブラウザに対応する拡張機能を入れる(こちらで操作手順を確認)

【B】-2.

  • その他の対処法を試す

【B】-3.

  • その他の対処法を試す

【C】-1.

オートメーションベースを変更して試します。

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

【C】-2.

  • その他の対処法を試す


上記対処法で操作がうまくいかない場合の代替え策としてその他の対処法の一例を記載します。

その他

  • 「画像をクリック」アクティビティを使用し、取得したい要素を画像として設定する
    • 毎回表示が変わる要素であってもアプリ全体からみた位置が同じ場合、「画像をクリック」で起動する度に変更しない箇所を画像指定しつつ「オフセットX」「オフセットY」プロパティで指定画像からの位置情報を指定することで操作できることがございます
  • 「ショートカットキーを送信」アクティビティを使用し、アプリが対応しているショートカットキー(例:「Ctrl」+「C」)を使用

  • (ブラウザの場合)「Javasctiptを挿入」アクティビティを使用し、Javascriptで操作
    ※Javascriptはお客様ご自身で記載・確認をお願いいたします。Javascriptが原因のエラー解析やJavascript改修等はコボットPlatformサポートではできかねます



印刷
M
Masaya is the author of this solution article.

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

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