見出し画像

クラウドBOTでセレクトボックスに指定した値を入力する方法

今回はクラウドBOTの操作記録をレクチャーしている際によくご質問頂く、”セレクトボックスに指定した値を入力する方法”について解説していきたいと思います。


Webページにおける、セレクトボックスの仕組みについて

クラウドBOTの操作を解説する前に、まず、Webページにおけるセレクトボックスについて知っておいて頂きたい事を解説します。

セレクトボックスとは

クリックするとプルダウンでメニューが開き、一覧から値を選択するタイプの入力フォームです。都道府県などを選択する際によく見かけますよね。

セレクトボックスは2つの値を持っている

いきなりちょっと複雑な話になるのですが、セレクトボックスには2つの値があります。ユーザが項目を選ぶ際に見ている”ラベル”とセレクトボックス内で実際に指定されている値"value"です。

例えば、都道府県で「青森県」を選択する場合、以下のように表示されている項目から”青森県”を選択しますよね。これが”ラベル”です。

実はこの時、この画面内のセレクトボックスでは、実際には"2"という値が選択されています。これが”value”です。

GoogleChrome(windows)などで以下の操作を行うと、セレクトボックスのHTMLソースを確認することができます。(2024年3月現在)
セレクトボックスの上で右クリック > 「検証」を選択

セレクトボックスのHTMLソースは以下のようになっています。
青森県の横に value="2" と書かれています。これがvalueですね。

Webページ上でセレクトボックスから項目を選択した際に、実際に選択されているのは”ラベル”ではなく、”value”です。

”ラベル”はユーザがデータを選択する際に分かりやすくするための表示であり、Webページ上で実際に管理されている値は”value”です。
(これは、チェックボックスやラジオボタンも同様です。)

クラウドBOTでセレクトボックスの値を選択する方法

クラウドBOTでセレクトボックスに値を入力する際は、実際に設定される値である”value”を入力する必要があります。

以下のように青森県を選択したい場合にラベルの値である”青森県”という値を貼り付けても、青森県を選択できません。

valueの値である"2"を貼り付ける事で”青森県”を選択することができます。

セレクトボックスの仕組みとクラウドBOTの仕様についてはご理解頂けましたでしょうか。

マッピングテーブルを用いたセレクトボックスへの入力方法について

ユーザ目線で考えると当然、”valueの値を指定してBOTを実行する”というのは現実的ではありません。
「今回は”東京都”を選択したいから”13”を入力して実行しよう!」とはなりませんよね。
東京都のvalueが何なのか調べるところからスタートしていると、RPAの意味がありませんね。本末転倒です。

”東京都”を入力してBOTを実行したら”東京都”が選ばれるようにしたい!!

という事で、今回はマッピングテーブルを使用し、ラベルをvalueに変換してセレクトボックスに値を入力する方法について解説します。

ここからはクラウドBOTでの具体的な操作を解説していきます。

1.準備:マッピングテーブル(グループデータ)を作成

まずは、以下のようにラベルvalueが一対になっているグループデータを作成します。これがマッピングテーブルになります。

ここでは、グループ名を”都道府県テーブル”としています。

列にはラベルの値を格納する”都道府県_ラベル”valueの値を格納する”都道府県_value”を作成しています。

グループ内のデータは、セレクトボックスの内容に合わせて作成します。今回は以下のようなCSVファイルを作成し、一括で取り込んでいます。

参考:チュートリアル「2-2. ExcelやCSVをインポートし、グループデータを作成する

BOTのデータに”都道府県”を作成し、”北海道”を入力しておきます。
これが、実行時にユーザが入力する値です。

2.タスクにグループを挿入

セレクトボックスが存在するページまで、記録を進めます。
その後、画面左下のデータ欄から、先程作成した”都道府県テーブル”を選択し、「グループを使う」ボタンをクリックします。

3.グループ内に条件を追加

タスクに”都道府県テーブル”が挿入されますので、グループ内の「条件を追加」をクリックします。

”条件”を設定する画面が表示されますので、以下のように設定します。
ユーザ入力した”都道府県”が、”都道府県テーブル”の”都道府県_ラベル”と等しい
とします。
「OK」ボタンをクリックします。

4.セレクトボックスにデータを貼り付ける操作を記録する

タスク内に条件が以下のように設定されていればOKです。
画面左上の「次へ」ボタンを1回だけクリックします。

タスク位置が条件内に移動します。

この状態で実際に仮想ブラウザ上のセレクトボックスに値を貼り付ける操作を記録します。
この時、”都道府県テーブル”内の”都道府県_value”を指定します。

北海道が選択されていれば完成です。

5.BOTを保存する

最後に、”都道府県”をBOTの入力データに設定し、保存します。

解説

作成したタスクがどんな処理をしているのか、簡単に解説します。

まず、タスクに”都道府県テーブル”を挿入して都道府県の数分(47回)ループ処理を行っています。
参考:チュートリアル「2-4. グループデータを使用して繰り返し(ループ)処理を行う

その中に条件分岐を追加し、ループ処理を行っている”都道府県テーブル””都道府県_ラベル”の値と、ユーザの入力した”都道府県”値が一致するなら、という条件を指定しています。
参考:チュートリアル「3-1. 条件に一致する場合に実行されるタスクを記録する

条件に一致した場合に、”都道府県_ラベル”同一行の”都道府県_value”をセレクトボックスに貼り付ける操作を記録しています。

つまり、47都道府県分ループ処理をして、ユーザが入力した都道府県と一致した時にだけ、valueの値を入力しているというイメージです。

なかなかに複雑ですね…。ご理解頂けましたでしょうか…?

サンプルBOT「セレクトボックスの都道府県を入力する.jws」

グループデータにマッピングテーブルを作成してセレクトボックスを指定するサンプルBOTの定義ファイルを設置しておきます。
ご自分のクラウドBOTアカウントにインポートして確認してみて下さい。

BOTのインポート手順はこちらの記事で解説しています。

最後に注意事項

このようにして、グループデータ内にマッピングテーブルを作成し、ラベル→valueに変換した値をセレクトボックスに入力する事ができます。

kintoneやiPaaSとの連携の際にも変換テーブルクラウドBOT側に持たせる事ができますので、是非活用してみて下さい。

注意事項

クラウドBOTは2024年3月現在、ループ処理と条件分岐の入れ子構造が作れません。ですので、今回紹介した方法は複数の明細を処理するフローなどでは使用できません。
(例えば、都道府県情報を持つ、10件の会員情報をループ処理で登録したい場合など)

その場合はscriptタスクを使用してローコードで実現できますので、後日別の記事でご紹介したいと思います。

この記事が気に入ったらサポートをしてみませんか?