Robotic Crowd

Robotic Crowd

待機時間を設定する(WaitBefore/WaitAfter, Wait)

Author: Asao Nakamura 53 views

この記事では、ワークフロー中に待機時間を設定する方法を2つ紹介します。

【できるようになること】

  • ブラウザ系の各アクションに待機時間を設定
  • Waitによる待機時間の設定
待機時間を設定するメリット

アクションに待機時間を設定することにより、以下のような問題を回避する効果が期待できます。

・ロボット判定
・操作したい要素が表示されるまで時間がかかることによるエラー
・特定ページへの短時間連続アクセスによるアクセス制限
・スプレッドシートへの短時間内連続書き込みによる書き込み制限(方法は後述)

 待機時間の設定方法(ブラウザ系アクション)

ブラウザ系の以下アクションについては、アクションの実行前と実行後にそれぞれ待機時間を設定することができます。

  • GoTo
  • Click
  • Hover
  • TypeText
  • SetFileToUpload
  • TypePassword
  • SelectOption
  • GetText
  • SendKey
  • SubmitForm
  • TakeScreenshot
  • TakeElementShot
  • PagePDF
  • InjectScript
  • GetAttribute
  • ClickPoint
  • ShowTabs
  • DrugAndDrop

ブラウザ系アクションに待機時間を設定するメリットとして代表的なものは、動作の安定化です。

例えば、画面内のポップアップが表示されるまでの待機や、画面内で行われる情報更新などを完了まで待機することが可能になります。
これにより、セレクタが見つからないことによるエラーや、画面内部の更新の遅れへの対応、特定のWebサイトへの連続アクセスによるネットワーク系のエラーを容易に回避できるようになります。

以下では、ブラウザ系アクションへの待機時間設定方法を紹介します。

待機時間を設定するためには、アクションカードの「詳細設定」を表示させる必要があります。

  • ブラウザアクションを設定します。
  • アクションカード下部の「詳細設定を開閉」をクリックします。

アクションカードの詳細設定を開くと、「実行前待機時間」と「実行後待機時間」という項目があります。ここに待機する時間を設定します。

  • 実行前(または実行後)待機時間に待つ時間を設定します。
  • 設定時間は、「ミリ秒」で設定します。
    ミリ秒:1秒の1/1000の単位。1秒 = 1000ms、1分 = 60000ms

 待機時間の設定方法(専用タスク)

上記ブラウザ系アクション以外のアクションにて待機時間を設定したい場合は、Waitを使用します。

Waitのメリットとして代表的なものは、各種外部サービスの利用制限の回避です。
例えば、スプレッドシートへ短時間で連続して書き込みを行った際に発生する書き込み制限などを、容易に回避することが可能になります。

設定方法は、以下になります。

  • Waitを設置します。
  • 待機時間は、「ミリ秒」で設定します。
    ミリ秒:1秒の1/1000の単位。1秒 = 1000ms、1分 = 60000ms

# 既存のスプレッドシートを取得
+get_spreadsheet_1:
  action>: GetSpreadsheet
  provider: ''
  spreadsheet_id: ''
  meta:
    display: null

# 各要素について繰り返す
+for_each_1:
  for_each>:
    el: ${new Array(10)}
  _do:

    # セルの値を更新
    +update_cells_1:
      action>: UpdateCells
      spreadsheet: +get_spreadsheet_1
      range: 'シート1!A2'
      values: test

    # 待機する
    +wait_1:
      action>: Wait
      time: 2000
[参考記事]
<ブラウザ>waitBefore/After/待機時間/待機

このページは役に立ちましたか?