Control

制御系のアクションの一覧です。

If

概要

指定された条件により処理を分岐します。条件が真の場合、ブロック内に定義された処理を実行します。

パラメーター

名前 概要
condition 文字列 条件(変数利用可能) ${total > 90}

使用例

# 変数に保存
+store_value_1:
  action>: StoreValue
  key: total
  value: 100

# 真のとき
+if_1:
  if>: '${total > 90}'
  _do:

    # テキストを作成
    +text_1:
      action>: Text
      text: '合格'

ForEach

概要

リストの各要素に対して一度ずつ処理を実行します。

パラメーター

名前 概要
iterable 配列 対象のリスト ["apple","orange","banana"]
element 文字列 要素を格納する変数名 fruit
withIndex 文字列 現在の繰り返し回数を格納する変数名。*変数名が設定されていない場合は、繰り返し回数を取得することができません。 count

使用例

# 各要素について繰り返す
+for_each_1:
  for_each>:
    fruit: ["apple","orange","banana"]
    withIndex: count
  _do:

    # テキストを作成
    +text_1:
      action>: Text
      text: "${count}回目の繰り返し\n${fruit}"

Loop

概要

指定した回数だけ処理を繰り返します。

パラメーター

名前 概要
times 数値 繰り返す回数 5

使用例

# 繰り返し
+loop_1:
  loop>: 5
  _do:

    # テキストを作成
    +text_1:
      action>: Text
      text: Hello

BreakIf

概要

Loop / ForEachブロックの中に配置します。 指定された条件が真の場合、繰り返し(Loop / ForEach)ブロックを抜けてブロック外の次のタスクに移動します。 繰り返しが入れ子になっている場合、一番内側の繰り返しブロックから抜けます。

パラメーター

名前 概要
condition 文字列 条件(変数利用可能) ${total > 90}

使用例

# 繰り返し
+loop_1:
  loop>: 5
  _do:

    # 繰り返しを終了する
    +break_if_1:
      break_if>: ${i === 3}

    # テキストを作成
    +text_1:
      action>: Text
      text: '${i}回目'

Try

概要

ブロック内のエラーを捕捉します。Tryブロック内でエラーを捕捉した場合、Tryブロックを抜けてブロック外の次のタスクに移動します。エラーオブジェクトは、errorObjectNameパラメーターで設定した変数に格納されます。Tryブロック内でエラーが捕捉されたかどうかは、IfタスクでerrorObjectNameに値が入っているかどうかをチェックすることにより確認できます。エラーオブジェクトを使って、エラーの種類によって異なるエラーハンドリングを実装することができます。実際の使い方については、使用例をご覧ください。エラーが捕捉されない場合は、ブロックのおわりまでいきます。

パラメーター

名前 概要
errorObjectName 文字列 エラーオブジェクトを格納する変数名 error

エラーオブジェクトの中身

{
  "message": "Error: something went wrong.", // エラーメッセージ
  "task_name": "+try_1+sub_try+click_point_1", // エラーが発生したタスクの名前
  "attempt_id": "2611", // エラーが発生した試行のID
  "session_time": "2020-08-24T22:16:45+09:00" // エラーが発生したセッションの開始時刻
}

使用例

# TRY
+try_1:
  try>: error
  _do:

    # ブラウザを開く
    +open_browser_1:
      action>: OpenBrowser
      url: 'https://autoro.io'
      headless: true

    # XY座標でクリック
    +click_point_1:
      action>: ClickPoint
      browser: +open_browser_1
      x: 100
      y: 100
      selector: 'body > div.wrapper > section.module.divider-bottom.pt-5 > div > div.row.pt-5 > div > not > found'
      confirm: false

# 真のとき
+if_1:
  if>: ${error}
  _do:

    # 真のとき
    +if_2:
      if>: ${error.message.includes('Anchor point not found')}
      _do:

        # テキストを作成
        +text_1:
          action>: Text
          text: 'Handle this error as you like!'

Exit

概要

Exitは、実行中のセッションを正常終了させます。実行されると成功のステータスで完了となります。

終了メッセージをつけることができるので、デバッグや条件により終了させたいときに使います。

パラメーター

*は、必須パラメーター

名前 概要
message 文字列 終了時に残すメッセージ 終了しました

アウトプット

無し

使用例

+exit_1:
  exit>: '終了しました'

KillAttempt

概要

KillAttemptは、実行中のセッションを異常終了させます。実行されるとエラーステータスで完了となります。想定通り終了した場合もエラーステータスとなるので注意してください。

終了メッセージをつけることができるので、デバッグや条件により終了させたいときに使います。

パラメーター

*は、必須パラメーター

名前 概要
message 文字列 終了時に残すメッセージ 終了しました

アウトプット

無し

使用例

+kill_attempt_1:
  action>: KillAttempt
  message: 'この条件では、ワークフローが完了しないので終了させます。'

AddToQueue

概要

AddToQueueは、指定したワークフローをセッションキューに追加します。 paramsパラメーターを使えば、ワークフローにデータを渡すことも可能です。

パラメーター

*は、必須パラメーター

名前 概要
workflow_id* 数値 セッションキューに追加するワークフローのID 1234
params オブジェクト ワークフローに渡すデータ {"url":"https://www.autoro.io/"}

アウトプット

タイプ 概要
Text 文字列 セッションキューのステータス "running"

使用例

+add_to_queue_1:
  action>: AddToQueue
  workflow_id: 1234
  params:
    url: 'https://www.autoro.io/'

Wait

概要

次のアクションへ進むのを待機することができます。

パラメーター

名前 概要
time 数値 待機時間(ms) 100 (default)

アウトプット

無し

使用例

+wait_1:
  action>: Wait
  time: 100

results matching ""

    No results matching ""