【RPA入門】Robotic Crowd Agentの使い方(1)~繰り返し処理編

RPAの入門として、Robotic Crowd Agentの実践的な使い方を紹介していきます。今回はスプレッドシートに記載された検索キーワードをもとに、検索されたイベントの件数を取得する処理を自動化したいと思います。

Robotic Crowd Agentの入手

【Step.1】Chrome拡張機能のインストール

こちらのサイトからRobotic Crowd Agent(Chrome拡張機能)を入手することができます。Chrome拡張機能をインストールするためには、氏名、会社名、メールアドレス等の個人情報を入力する必要があります。

【Step.2】Chrome拡張機能の有効化

インストールが完了したら、次は拡張機能を有効化します。先ずは、Chromeブラウザを起動し、画面右上の設定ボタン(三点リーダー)をクリックし、「その他のツール>拡張機能」を選択します。

extension setting

次に、Robotic Crowd Agentのパネルの有効化ボタンをONにします。これで、Chromeブラウザ上で、Robotic Crowd Agentを使用することができるようになりました。

enable extension

繰り返し処理するデータの準備

【Step.3】スプレッドシートの作成

スプレッドシートを新規作成し、下記のようなテーブルデータを記入しておきます。1列は任意の「検索キーワード」で、2列目は検索されたイベントの件数です。

create spreadsheet

レコーディング機能の実行

【Step.4】検索サイトへのアクセス

Chromeブラウザで、今回イベント情報を検索するサイト(https://connpass.com/search/)にアクセスします。なお、この段階で、Googleアカウントでログインの状態にしておく必要があります。

open site

【Step.5】レコーディングの開始

Chromeブラウザの画面右上にあるRobotic Crowd Agentのアイコンをクリックします。そして、表示されたパネルの「REC」ボタンをクリックすると、レコーディングが開始されます。

start recording

【Step.6】繰り返しデータの登録

繰り返しデータとして、スプレッドシートの検索キーワードのリストを登録します。先ずは、サイト内の画面左端のなにもない場所をクリックして、メニュー画面を表示させ、「繰り返す」を選択します。

display menu

次に、「繰り返しデータの登録」画面にて、「SPREADSHEET」タブを選択して「SpreadSheetURL」を入力し、読み込みボタンをクリックします。なお、URLはStep.3で作成したスプレッドシートのURLをそのまま入力します。

※URL:https://docs.google.com/spreadsheets/d/[スプレッドシートID]/edit#gid=0

set spreadsheet

初回の実行時は認証画面が表示されると思います。下記の手順を参考にスプレッドシートの認証を行ってください。利用規約等の確認も行っておいてください。

authentication setting

認証が正しく完了すれば、「繰り返しデータの登録」画面が再度表示され、画面中央部にStep.3で作成したスプレッドシートのデータが反映されます。ヘッダー項目を除外するために、一行目をクリックします。除外した行はグレーアウトされます。最後に、「OK」ボタンをクリックします。

set table data

【Step.7】検索キーワードの入力

サイト内の「キーワード」入力欄の中央部分をクリックすると、ポップアップ画面が表示されます。スプレッドシートのデータを利用するために、右端のテーブルボタンをクリックします。

input keyword

Step.6で読み込んだスプレッドシートのデータが表示されるので、左端の検索キーワードの列をクリックします。

select keyword column

すると、「キーワード」入力欄に、先頭のキーワード(RPA)が入力されます。これで、検索キーワードの入力設定が完了しました。

set first keyword

【Step.8】検索ボタンのクリック

サイト内の「イベント検索」ボタンをクリックします。メニュー画面が表示されるので、「クリック」を選択します。

click search

【Step.9】検索件数の取得

サイト内に表示された「検索結果 (〇〇件)」のテキストをクリックします。メニュー画面が表示されるので、「テキストを取得」を選択します。

get event number

【Step.10】スプレッドシートへの書き込み

サイト内の画面左端のなにもない場所をクリックして、メニュー画面を表示させ、「スプレッドシートのセルの値を更新」を選択します。

write spreadsheet

表示された「スプレッドシートのセルの値を更新」画面にて、「SpreadSheetURL」を入力し、読み込みボタンをクリックします。URLはStep.3で作成したスプレッドシートのURLをそのまま入力します。

set spreadsheet url

そして、スプレッドシートに書き込む値と範囲を指定します。先ずは、「Values」の右端のテーブルボタンをクリックします。

select values

今までにレコーディングされた処理の一覧が表示されますので、一番下の「+get_text_5」を選択します。

set get text value

次に、「Range」の右端のテーブルボタンをクリックします。

select range

スプレッドシートのデータが表示されますので、「イベント件数」列の2行目をクリックします。

select number column

最後に、「Values」と「Range」が反映されていることを確認してから、「OK」ボタンをクリックします。

click writting ok

【Step.11】レコーディングの終了

Chromeブラウザの画面右上にあるRobotic Crowd Agentのアイコンをクリックします。そして、表示されたパネルの「STOP」ボタンをクリックすると、レコーディングが終了します。

stop recording

【Step.12】ワークフローの実行

Chromeブラウザの画面右上にあるRobotic Crowd Agentのアイコンをクリックします。そして、表示されたパネルの「PLAY」ボタンをクリックすると、レコーディングしたワークフローが実行されます。

play workflow

※実行時はChromeブラウザを最小化しても問題なく動作していましたが、別タブに画面を切り替えるとエラー停止するようです。

各キーワードで検索が繰り返し行われ、スプレッドシートに検索件数が書き込まれました。

result

ただし、スプレッドシートに書き込まれた値は、「検索結果 (xx件)」という文字列でした。サイトのHTML構造の都合で、件数の数値を直接取得することはできませんでした。

件数のみをスプレッドシートに書き込みたい場合は、レコーディングしたワークフロー(yamlコード)を一部編集する必要があります。

ワークフロー(yamlコード)の編集

【Step.13】yamlコードの確認

Chromeブラウザの画面右上にあるRobotic Crowd Agentのアイコンをクリックします。すると、レコーディングしたワークフロー(yamlコード)が表示されています。

edit yaml code

【Step.14】yamlコードの編集

yamlコードを2箇所編集します。1箇所目は、取得した検索結果のテキスト値を変数に保存するコードを追加します。「# テキストを取得(+get_text_5)」の下に、挿入します。コードを挿入する際は、インデントに注意してください。

insert store value

# 検索結果のテキストを変数に保存
+store_event_number:
  action>: StoreValue
  key: eventNumber
  value: +get_text_5

2箇所目は、スプレッドシートに書き込む値を変更します。「# セルの値を更新(+update_cells_7)」のvaluesを書き換えます。

change update value

values: ${eventNumber.match(/\d+/)[0]}

【Step.15】ワークフローの再実行

Chromeブラウザの画面右上にあるRobotic Crowd Agentのアイコンをクリックします。そして、表示されたパネルの「PLAY」ボタンをクリックすると、編集したワークフローが実行されます。

play workflow

各キーワードで検索が繰り返し行われ、スプレッドシートに検索件数が書き込まれました。今回は、意図した通り、件数の数値のみがスプレッドシートに書き込まれました。

improved result

まとめ

今回はスプレッドシートに記載された検索キーワードをもとに、検索されたイベントの件数を取得する処理を自動化しました。下記の点を理解して、他の業務にも応用できるようにしましょう。

  • Robotic Crowd Agentにより、Chromeブラウザを使ったWeb操作が自動化できる
  • ワークフローは、レコーディング機能により自動で生成される
  • スプレッドシートのデータをもとに、繰り返し処理を行うことができる
  • レコーディングしたワークフロー(yamlコード)は編集することができる