要素の存在を確認するのに掛かる時間が長いのはどうしてか

要素の存在を確認 アクティビティに掛かる時間が長い から:

リンクしたスレッドに便乗した質問です。
ブラウザ上のこういった要素を存在確認するときにおそろしく時間がかかる(たとえばリンクしたスレッドだと、ポップアップひとつ確認するのに30秒)場合が多いのですが
これは何に起因しているものなのでしょうか?ブラウザのせい?Windowsのせい?機器のせい?
UiPathでない製品でも同様に要素を見つけるのに時間がかかることがあるので、UiPathのせいとかUiPath特定のなにかということはなさそうです。
なのでここに質問するのは違うかもしれませんが、なんらかの知見をお持ちの方がいないかなーという期待のもとに投稿してみました。
要素を操作するまえに存在確認するのはフローを製造する際の基本ルールのようなものですから、存在確認にいちいち時間がかかるのは困りますよね……。 :worried:

こんにちは

上記の例の場合ですと、エラー表示の要素が無いことを確認するための閾値として
デフォルトの30秒のタイムアウト値を採用しているため、エラーが発生しない場合に
30秒の待ちが発生します。
エラーが無い場合に固有に出現する要素があることを確認できれば、
それで事足りますので、時間がかかることはありません。

つまり「ない」ことを確認するのは、要素の出現するまでの時間について制約があったとしても、
それまでは時間をかけて待つしかなく、このあたりが、正確さとパフォーマンスのトレードオフに
なるということになります。

このあたりのは、対象のシステムの構成・構造にも依存しますので一概には
実現できませんが、可能な限りあることのみを検出するようにすると、良いの
ではないかと思います。(上述のリンク先の例でもあることのみをチェックするように
例示しました。)

ちなみにUiPathの場合、要素検出に非常に時間がかかる、もう一つの典型的な例として、
WaitForReady(準備完了まで待機)の値がInteractiveやCompleteの場合に、特定のページで
発生することが知られています。
これはUiPath固有問題と思われますので、その疑いのある場合はとりあえずNoneにして
解消するか確認すると良いかと思います。

1 Like

ごめんなさい質問のしかたが悪かったです…
チェックする方法を工夫したりActivityのオプションを設定することで実質的な時間を短縮できる手法は存じています。
質問したかったのは
「要素ひとつみつけるのにそんなに時間がかかる理由は?」
ということなのです。
だってブラウザは基本1枚しか出しておらず、ポップアップも1個出ているだけで、人間が見たら「これ」ってすぐ見えるもので、これを見つけるのに何をしているとそんなに時間がかかるのか、という仕組みが知りたいのです。
たぶんもはやこれはUiPathの質問ではないような気がするので、申し訳ないのですけど……。

こんにちは

ご質問の意図を正しく把握できていないかもしれませんが...

少なくともセレクターで要素を特定する場合、その存在確認に時間がかかるイメージは
無いですね..。むしろ表示されるのを待っているケースの方が多いようにも思えます。

画像マッチングで要素を特定する場合は、それなりの演算量が必要かと思いますので、時間は
必要かと思います。こちらの方が人間の視覚による認識に近いとは思いますが。

あるいは適正なセレクターを構築する際に時間が必要ということでしょうか....