(O+P)ut

ITエンジニアのアウトプット録



(O+P)ut


【BluePrism】Web操作の待ち時間を動的に変更する

スリープ時間を動的に変更する

以下の記事にて、簡単なブラウザ操作を行うアクションの作り方を記載し、

記事の中で、URLを開いてからキーボード入力を行う操作に行く前にWait処理を入れるべしと解説しました。

ブラウザからURLを開く処理を待たずに後続の処理が始まると、エラーとなってしまう場合があります。
環境によっては不要ですが、安定化のため明示的に待つ動作を入れます。
実装としては、左側にある「Wait」を挟みます。今回はTimeout(timespan/secs)という箇所に「5」と入力しました。5秒スリープします。

そうはいっても、1秒で開ききって待ちが発生したり、逆に5秒では足りないケースもあります

そのようなケースで利用できるのがWaitのActionです。
操作の前段階の処理が完了し終われば、指定した時間が経っていなくてもWaitを終了することができます。

Wait処理(指定時間待つ)

以下のアクションでURLをブラウザで開き
f:id:mtiit:20190227133626p:plain

以下のアクションで文字列を入力するとします
f:id:mtiit:20190227133747p:plain

ここで、特にスリープ処理を挟まずに続けて実行しますと以下エラーメッセージで止まる場合があります。

Internal : Failed to perform step 1 in Write Stage 
'W_Write' on page 'Write' - Unable to match any windows with the query terms

よって以下のようにWriteを行う前にWait処理をはさみます。
f:id:mtiit:20190227134717p:plain

ここから、準備ができれば後続作業に行くようにします。

Waitに動的な条件を追加する

Waitの中を見ると以下のようにアクションを入れる欄があります。

Element Params Condition Type Comparison Value
<Unknown Element> Unknown

Write処理を行うエレメントを選択してこの欄にドラック&ドロップすると、
Condition欄から以下の条件を選択できます。

  • Check AA Attribute
  • Check Exist
  • Check Window Attribute

入力欄する欄が存在するか否かで判断するべくCheck Existを選択します。
Check Existを選択すれば、特にInput情報を与えずとも判定できます。

Element Params Condition Type Comparison Value
Write Check Exists Flag =(Equal) True

選択後に画面に戻ると、Wait処理にAnchorのポイントが追加されているので後続の処理にリンクさせます。

この状態で動作させると、Waitに設定した時間を待たずにWrite部分の処理が行われます。
f:id:mtiit:20190227140012p:plain

終わりに

ブラウザ操作にて待ち時間を動的に変化させるために行う処理です。
Wait操作でスリープ処理を行う際には、この分岐が使えないか意識すると良いと思います。

以上、BluePrismのブラウザ操作に関する補足でした。