要素が出現したときのタイムアウトが効かない

現在困っていることがあるため有識者の方がいらっしゃいましたらご回答いただけないでしょうか。

私は現在、UiPath上でAdobe Acrobat Standardを起動→編集→保存、という動作を行おうとしています。

起動→編集→保存の一連の動作は上手く作成できたのですが、Adobe Acrobat Standard 起動時に表示されるポップアップウィンドウ(デフォルト表示の確認ダイアログ、読み上げ機能の使用確認)の検出で難航しております。

こちらのポップアップウィンドウは実行環境により表示が不確定となっているため、表示を検出できたらクローズを行い、表示されなければ検出をエラーとせず続行としたいのですが、ポップアップウィンドウ表示の検出が上手く行きません。

現在、以下の機能を用いて検出を行おうとしています。

要素を探す(Find Element)
要素が出現したとき (On Element Appear)

セレクタを指定してポップアップをクローズする動作自体は問題なくできているのですが、上記を用いて要素の出現を待つところで躓いています。

というのも「指定時間分待って表示されなければ続行したい」のですが、仮にタイムアウトを10000ミリ秒など設定しても即座にアクティビティがエラー終了してしまっているようなのです。
プロパティ(アクティブを待つ、表示を待つ、永続実行はFalse)も色々組み合わせて試してみたのですが変わらず、要素の検出を行うアクティビティが即座にエラー終了しています。

要素を検出する内側のアクティビティも実行されていません。
エラーメッセージには「値が有効な範囲にありません」と記載されています。

タイムアウトが有効にならない件や何か上記の現象について心当たりのある方がいらっしゃいましたら、ご教授願えませんでしょうか。
よろしくお願いいたします。

1 Like

こんにちは

この要件ですと、ポップアップウインドウを検出する必要はなく
そのポップアップウインドウを閉じるクリックを配置し、タイムアウト時間を適当にとって
タイムアウト時はConitueOnErrorをTrueにしておく、あるいはTryCatchの中にいれておいて
継続処理するようにしておけば良いように思えますが、いかがでしょうか?

2 Likes

早速のご回答ありがとうございます。
仰る通りの動作で確かに要件は満たせそうです。
週明けに早速試してみたいと思います。

後学のためにお聞きしたいのですが、要素を検出するアクティビティにてタイムアウトが上手く効いていない理由に関しては何か心当たりはありますでしょうか?
セレクタを検出→クリックが動作の流れとしては好ましい気がしてしまい、少し気になっています。

自己解決いたしました。

私の場合は、「ブラウザーを開く」のシーケンスの中で別のウィンドウの要素を検出しようとしていたことが原因のようでした。

厳密に検証は行っておりませんので、詳細な情報ではありませんが、どなたかのご参考になれば幸いです。

1 Like