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