応用編:繰り返し実行

ロボットを作っていると「この部分を繰り返し実行したい」という部分が出てきます。そんな時のために、Robotic Crowd Agentでは、「CSV形式のファイル」や「Googleスプレッドシート」の『表データ』を利用した繰り返し処理を行うことが可能です。今度はその設定方法を見てみましょう。

今回のミッション
Googleスプレッドシートで作った全国の「地域一覧表」を元に、Yahoo!で各地域の「天気」を検索し、その結果をGoogleスプレッドシートに追記します。
今回使用する『Googleスプレッドシート』はこちらです。
https://www.google.com/intl/ja_jp/sheets/about/
Googleスプレッドシートは、「スプレッドシート」、つまり、「Excelのような表計算ツール」を、オンラインで使うことができるサービスです。Googleのアカウントを持っていれば、誰でも無料で利用することができます。
Googleスプレッドシートを開いて、ファイルをひとつ作りましょう。
今回は全国の天気を調べる処理を行いますので、調べたい場所の「地名」を記入してください。
それと、地名の後ろに「スペース」を空けて、「天気」と書いておきます。
Webブラウザ上で「Yahoo!」の画面を開いておきます。
ちょっとだけ「コツ」なのですが、Yahoo!で連続で検索を行う場合、「トップページ」ではなく、一回検索した後の「結果画面」にしておくと、処理をスムーズに記録することが可能です。
繰り返し処理の設定(データの取得)
それでは、「ロコさんアイコン」をクリックして、メイン画面を開きましょう。
「RECボタン」を押して、操作の記録の開始です。
まずは、Google Chromeの画面上、どこでも構わないので「左クリック」をして、ポップアップメニューを表示します。
メニューリストの下の方にある、「繰り返す」のメニューを選択しましょう。
「繰り返しデータの登録」という画面が出てきます。
この画面は、「CSVファイル」や「Googleスプレッドシート」を読み込むための画面です。
今回はGoogleスプレッドシートを使いますので、タブを「SPREADSHEET」に切り替えてください。
「SpreadsheetURL」の欄に、今回作ったスプレッドシートのURLをコピーして貼り付けます。
URLを貼り付けたら、右側にある「読み込みアイコン」をクリックすると、データを読み込みます。
最初に、Robotic Rrowd AgentからGoogleスプレッドシートへ接続する時には、「アクセス認証」が求められます。
内容に目を通したら、「許可ボタン」をポチッとどうぞ。
Googleスプレッドシートからデータが読み込まれました。
このデータを使って、繰り返し処理を作ります。
検索欄を左クリックして、「文字入力画面」を表示させます。
基本編では直接文字を入力しましたが、今回は「Text」欄の右側にある「表のアイコン」をクリックしましょう。
先ほど読み込んだGoogleスプレッドシートのデータが表示されます。
対象の地名データが入っている列をクリックして、「この列を使用する」状態にします。これで、「繰り返し処理をする対象」の設定ができました。
対象の設定ができましたので、続けて「検索ボタン」の「クリック操作」を記録します。
画面が遷移して検索結果(天気の情報)が表示されました。
ここで、天気が書かれている文字列を左クリックして、ポップアップメニューから「テキストを取得」を選択します。
繰り返し処理の設定(データの保存)
「データの取得」ができましたので、ここからは「データの保存」を行います。
まずは、「テキストの取得」をした項目に対して、再度左クリックからポップアップメニューの表示を行い、「スプレッドシートのセルの値を更新」を選択しましょう。
「スプレッドシートのセルの値を更新」画面が出てきますので、「SpreadsheetURL」の欄に、先ほどと同じスプレッドシートのURLを再度貼り付けます。
すると、「シートに書き込む値と範囲を指定」する画面が出てきました。
まずは、「Values」の欄の右にある「表のアイコン」をクリックしましょう。
今までに記録した操作が表示されるので、「テキストを取得(get_text)」の項目を選択します。
「シートに書き込む値と範囲を指定」する画面に戻るので、今度は「Range」の欄の右にある「表のアイコン」をクリックし、更新する表の列を指定します。
今回は、地名の隣の列を選択しました。こうすることで、地名の隣に天気の情報が書き込まれます。
設定結果はこのようになります。
「OKボタン」を押して、設定を完了させましょう。
ニャンコ先生アイコン(仮)から、「STOPボタン」を押して、記録モードを終了させます。

おつかれさまでした。3つ目のRPAロボット、『繰り返し実行君』の完成です。最後に、作ったロボットを動かしてみましょう。メイン画面の真中下、「PLAYボタン」をポチッとどうぞ。
Googleスプレッドシートのファイルが更新されました。設定した「地名」の隣の列に、『天気情報』が書き込まれています。

「表に書いたキーワードで検索して」「検索結果からテキストデータを取得して」「テキストデータで表を更新する」、この流れは様々な場面で使えそうな気がします。無料のRobotic Crowd Agentでも、ここまでできるんですね!

意外とシッカリしているでしょう?RPAのロボットは、使う側の「工夫」次第でいくらでも便利にすることができるものですので、Robotic Crowd Agentはその「トレーニング」としても非常に役立つツールなのです。
サンプルコード(YAML形式テキスト)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# ブラウザを開く +open_browser_1: action>: OpenBrowser url: 'https://search.yahoo.co.jp/search?p=%E5%A4%A9%E6%B0%97&aq=-1&oq=&ai=gR7TglC2Tpiy88gte8PckA&ts=676&ei=UTF-8&fr=sfp_as&x=wrt' # 既存のスプレッドシートを取得 +get_spreadsheet_2: action>: GetSpreadsheet provider: gsheet_provider spreadsheet_id: 'ここにスプレッドシートIDを書く' # セルの値を取得 +get_cells_2: action>: GetCells spreadsheet: +get_spreadsheet_2 range: 'シート1!A1:A' # 表を変数に保存 +store_table_2: action>: StoreValue key: csvData1 value: +get_cells_2 # 行番号を変数に保存 +store_row_2: action>: StoreValue key: currentRow1 value: 0 # 各行について繰り返す +for_each_2: for_each>: row1: ${csvData1} _do: # 行番号を変数に保存 +update_row_2: action>: StoreValue key: currentRow1 value: ${parseInt(currentRow1) + 1} # 文字入力 +type_text_3: action>: TypeText browser: +open_browser_1 selector: '#yschsp' text: '${row1[0]}' clearValue: true # クリック +click_4: action>: Click browser: +open_browser_1 selector: '#sbn > fieldset > .sbox_1 > .b' # テキストを取得 +get_text_5: action>: GetText browser: +open_browser_1 selector: '#js-tracked_mod_7 > :nth-child(2) > p' # 既存のスプレッドシートを取得 +get_spreadsheet_6: action>: GetSpreadsheet provider: gsheet_provider spreadsheet_id: 'ここにスプレッドシートIDを書く' # セルの値を更新 +update_cells_7: action>: UpdateCells spreadsheet: +get_spreadsheet_6 range: 'シート1!B${currentRow1}:B' values: "+get_text_5" # ブラウザを閉じる +close_browser_1: action>: CloseBrowser browser: +open_browser_1 |
サンプルコードを使う場合の注意点
サンプルコード中に、「spreadsheet_id」を指定する箇所が2箇所あります。
まずはGoogleスプレッドシートでファイルを作成し、そのURLの中から、上記「オレンジ色の文字列」の部分をコピペして実行してください。
※上記ファイルは既に存在していませんので、実行するとエラーになります。