条件分岐(IF)
この記事では、条件分岐の設定方法について紹介します。
【できるようになること】
- 条件分岐の設定
- 条件式の設定
AUTOROでは、「ある条件を満たしていた場合のみ、ある処理を実行する」といった条件分岐(IF)処理が可能です。
条件分岐は、あらゆるワークフローで頻繁に使用されています。
条件分岐(IF)
AUTOROの条件分岐では次のような特徴があります。
- 指定した条件がTRUEになる場合のみ処理が実行される
- 「文字/配列/数字/Compareアクションのアウトプット/JavaScriptメソッド/正規表現/演算子」を利用して、条件式を作成する
TRUEの場合のみ処理が実行されるため、TRUEの場合とFALSE(TRUEではない)の場合とそれぞれに条件分岐の設定をおこなう必要があります。
条件分岐の設定方法
ワークフロー設定における条件分岐には「IF」を利用します。
IFに条件式を設定すると、IFの範囲内のアクションが実行されます。
「IF」で条件分岐を行うためには、「条件式」の設定が必要になります。
設定された条件式がTRUE(真)を返すときだけ、IFで囲まれたフローが実行されます。
- 「条件」のパラメータに条件式を入力します。
条件式を指定する方法は、大きく分けて2つあります。
- Compareアクションのアウトプットを指定
- 変数や比較演算子を使った条件式を直接入力する(下記画像)
(例)弊社サイトのセミナーページで、最新のセミナータイトルに「自動化」と入っていれば、そのタイトルをスプレッドシートに転記する。
上記画像ではセミナー名に特定の文字が入っているかの判定でindexOf() メソッドを使用しています。
${変数名.indexOf("特定の文字") > -1}# ブラウザを開く
+open_browser_1:
action>: OpenBrowser
url: 'https://www.google.com/search?q=オートロ株式会社 会社概要'
lang: 'ja-JP'
headless: true
useShadowDomSelector: false
private: false
# 要素の属性を取得_1番目のurlを取得
+get_attribute_1:
action>: GetAttribute
browser: +open_browser_1
selector: '.yuRUbf a'
attribute: href
ignoreError: true
private: false
# 変数に保存_url:サイトURL
+store_value_2:
action>: StoreValue
key: url
value: +get_attribute_1
private: false
# ブラウザを閉じる
+close_browser_1:
action>: CloseBrowser
browser: +open_browser_1
private: false
# 既存のスプレッドシートを取得
+get_spreadsheet_1:
action>: GetSpreadsheet
provider: ''
spreadsheet_id: ''
private: false
meta:
display:
# if_urlにprofileの文字列が入っている場合
+if_1:
if>: ${url.indexOf("profile") > -1}
_do:
# セルの値を更新
+update_cells_1:
action>: UpdateCells
spreadsheet: +get_spreadsheet_1
range: 'シート名!A:A'
values: ${url}
private: false 条件式の例
ファイル一覧などのリストを変数に保存し、変数内の要素数を取得して、想定数より多いかの判定する場合、lengthを使用します。
${変数名.length > 0}解説: 変数が配列の要素数を持つ場合、1以上を返します
変数内に特定の文字が存在しているかを判定する場合、includesを使用します。
${変数名.includes("特定の文字")}解説: 変数内に”特定の文字”が存在している場合、trueを返します。存在しない場合はfalseを返します。
ファイル一覧などのリストを変数に保存し、変数内に特定の文字が存在しているかを判定する場合、indexOf()が利用できます。
この場合、戻り値は配列番号になります。
${変数名.indexOf("特定の文字") > -1}解説: 変数内に”特定の文字”が存在している場合、その配列番号を返します。存在しない場合は -1 を返します。
条件式を使った判定例
<IF>条件分岐














