【UiPath】固定時間待機はやめて!ロボ実行を速くする構築方法

経験の浅いUiPathエンジニアがやりがちなアンチパターンの一つに、「固定待機を入れまくる」というものがあります。


あるウェブサイト画面が開くのを待ったり、アプリケーションの処理を待ったりする際に、すべて「待機(Delay)」アクティビティを利用してしまうのです。


これは、ロボットの動作時間をいたずらに延ばしてしまうだけでなく、

その待機時間で本当に処理が完了するかどうかも分からないという不確実性をも孕んだUiPathアンチパターンの筆頭格となります。


それでは、このような場合、具体的にどのように対応すれば良いでしょうか。

ソリューションとして最も用いられるのは、「要素を探す(Find Element)」アクティビティを利用することです。

これを利用すると、指定した要素が出現するまで待つことができます。

従って、この要素が出た時点ですぐ次のアクティビティに動作が移るため、固定待機に比べて実行時間が早くなります。


なお、デフォルトでは30秒まで待ち、タイムアウトする設定であるため、場合によってはタイムアウト時間を調整してください。



そのほか、ある要素が出現したかどうかで処理を変更したい場合、「要素の有無を検出(Element Exist)」アクティビティが有用です。

上図のように、Element Existアクティビティで存在の有無を検証し、変数(isExists)に出力し、処理を分岐することが可能です。


固定時間待機をしなければならない場面はあります。

しかし、このように極力それを避ける方法を探すのがUiPathシナリオを作成するうえで肝要となります。