![見出し画像](https://assets.st-note.com/production/uploads/images/19509258/rectangle_large_type_2_f1fa8eac0841e5147e1aa4eaf25fc486.jpeg?width=1200)
クラウドBOT®で自動化BOTを作ってみる
村井@C-RISEです。
これまで、クラウドBOT®に関する構想や思いを中心に記事にしてきたのですが、実の所どんな操作画面で何ができるかイメージし難い所もあったと思います。
今回は、もう少し具体的にサービスを理解してもらえるように、RPA機能であるB-BOTの作り方をご紹介したいと思います。
現在、クラウドBOT®は、無料プランを提供しており、誰でも今すぐ使う事ができます。
しかし、現時点では操作マニュアルが公開されていません。
現在、使い方を理解する為に公開されているのは操作説明動画のみです。
こちらの動画を見て頂ければ一連のBOT作成の流れや雰囲気が分かると思うので、是非一度見て頂きたいのですが、もう少しご自身のペースで理解しながら読み進めて頂ければと思いこの記事を書き起こしました。
今回は上記動画の「 [No.01] BOTを作る&使う」を参考に、簡単なBOTを1つ作りながら、その操作手順について順次ご説明していきたいと思います。
1操作毎に画面を貼り付けてあるので記事は長いですが、文章はそこまで多くないと思います。
流し読みでも良いので目を通して頂ければと思います。
まずはユーザ登録(所要時間30秒)
まずはユーザ登録ですが、既に登録済みの場合はここは読み飛ばして下さい。
GoogleやFacebook、Microsoftのアカウントをお持ちの方は、そのままログインするだけで利用開始できるので、登録完了まで30秒もかかりません。(※利用規約を読む時間を除く)
上記の外部アカウントが無い、もしくは使いたく無いという場合はメールアドレスを入力するだけでアカウントを作成できます。
まずは、クラウドBOT®のTOPページから下記の「アカウント作成」をリックして下さい。
外部アカウントを使わない場合(新規にアカウントを作成する場合)は、メールアドレスを入力して下さい。
外部アカウントを利用する場合は、該当するサービスのボタンをクリックして下さい。今回は、私のGoogleアカウントでログインしてみました。
Googleアカウントでログインすると、下記画面が表示されました。
多分、この記事を読まれている方は日本に住んでいると思うのでそのまま「次へ」を押して下さい。海外在住の方は、お住まいの国を選択して下さい。
尚、クラウドBOT®は、現在日本語と英語の2言語に対応しています。
次にプラン選択です。
有料プランは今春の正式リリース時に公開予定なので、現在は無料プランのみ選択できます。
無料プランは、正式サービス開始後も継続利用可能なので、お試しのような利用期限はありません。
無料プランの「選択する」をクリックして下さい。
次の画面で利用規約に同意頂ける場合、「利用規約に同意する」にチェックを入れて下さい。
その後、「はじめる」ボタンをクリックすると、ユーザ登録完了です。
外部アカウントを利用する場合は、1文字も入力せずに登録が完了しました。
早速、BOTを作ってみる
ユーザ登録が完了したら、早速BOTを作ってみましょう。
ログイン直後は下記のようなダッシュボードが表示されています。
最初はBOTが1件も無いので、下記の「BOTを作る」をクリックしてBOTエディタを起動してみましょう。
新しいタブでBOTエディタが起動しました。
真ん中に下記のような検索欄があります。
ここに目的のサイトの検索ワードを入れるか、直接URLを入力する事で操作記録を開始するページまで移動します。
今回は、動画のBOTと同じくGoogleのTOPページから記録を開始するので「Googleのサイト」を検索してみます。
入力欄に「Google」と入力し、右側の検索ボタンをクリックします。
「Google」という検索ワードの検索結果が表示されました。
もちろん、検索結果の1位はGoogleなので、そのリンクをクリックします。
(リンク位置にマウスカーソルを合わせてもリンク色が変わったりしませんが、問題なく動きますので、そのままクリックして下さい。)
GoogleのTOPページが表示されました。
ちなみに、今回はブラウジングの動作を体験して頂く為に、まわりくどい手順を取りましたが、最初の検索ワード入力でURL「https://www.google.com/?hl=ja」を直接入力すれば、ダイレクトにこのページにアクセスする事ができます。
それでは、このページから操作の記録を開始してみましょう。
左上の「≡」マークをクリックするとサイドメニューが表示されます。
「記録開始」をクリックすると、記録が始まります。
一度ページが再読み込みされた後に記録が開始されます。
この時点で既に1件目の操作が記録されています。
左上の「タスク」欄を見てみると
①アドレスに[値1]を入力
と記録されています。
これは、[値1]に入っているURLをアドレス欄に入力してページにアクセスするという操作です。
で、[値1]の値はというと左下の「データ」欄に
値1 : https://www.google.com/?hl=ja
とGoogleのURLが表示されています。
つまり、記録開始と同時に
値1に入っているGoogleのURLにアクセス
という操作手順が追加されたのです。
次にGoogleの検索ワードの入力欄をクリックすると、入力欄が薄い赤で選択された状態になります。
通常のブラウザ操作では、クリックするとすぐに文字列を入力できますが、自動記録中は、操作する対象の要素を一度選択して、操作メニューを選択する事で操作を記録していきます。
選択状態の入力欄をもう一度クリックするとメニューが表示されるので、メニュー内の「入力する」を選択すると文字入力できる状態になります。
毎回、メニューを出して選択するのが面倒な場合は、入力欄をダブルクリックすると直接文字入力できる状態になります。(これは動画で説明していない機能です)
試しに「RPA」という文字を検索してみましょう。
「RPA」と入力した後に青い確定ボタンをクリックして下さい。
入力を確定すると、タスクとデータにそれぞれ追記されました。タスク欄を見ると
②入力ボックスに[値2]を入力
データ欄を見ると
値2:RPA
とそれぞれ追加されています。
つまり、
値2のデータ「RPA」を入力ボックスに入力
という操作が記録されたのです。
このように、WEB画面上の操作は自動で解析され、「操作(タスク)」と「データ」は、それぞれ分離して記録されます。
データ名は値1、値2、値3…と連番で割り振られていきますが、このままだと何のデータか分かり難いのでデータ名称を変更してみます。
値2の範囲をクリックすると、操作アイコンが表示されます。
表示された編集ボタンをクリックします。
データ名称を値2→「検索ワード」に修正して確定ボタンをクリックします。
データ名が「検索ワード」に変わって、入力欄に表示されていたデータ名称も同時に「検索ワード」に変わりました。
次に右側のブラウザ画面内の「Google検索」ボタンをクリックします。
先程と同じように一度ボタンを選択し、操作メニューを表示してから操作メニューの「クリック」を選択しても良いのですが、今回はメニューを出さずにボタンをタブルクリックして直接クリック操作を実行しました。
検索結果が表示されました。
タスクには
③ボタンをクリック
が追加されています。
ボタンクリックではデータを使わないので「データ」欄は変化ありません
検索結果の上部に件数が表示されているので、このデータを取得します。
まずは、この取得したい範囲を選択します。
選択した範囲が正しければ、操作メニューを表示して
「コピー」→「テキストをコピー」を選択します。
タスク欄に
④テキストを[値3]にコピー
が追加されて、データ欄に
値3: 約 57,300,000 件 (0.38 秒)
と追記されました。
つまり、
画面上から取得したデータを値3にコピー
という操作が記録されたのです。
データ名称が「値3」のままでは分かり難いので、先程と同じ様にデータ名称を「検索結果件数」に修正します。
右側のブラウザ画面上のデータ名称も同じく変わりました。
これでBOTの操作記録は終了
ここまで、サイドメニューはデータ名称を変更した程度で、殆ど右側のブラウザ画面の操作のみで手順を記録する事ができました。
記録した内容をBOTとして保存する為、サイドメニューの「保存」アイコンをクリックします。
BOT名に表示されている初期値を書き換えて「Google検索結果件数取得」という名称を入力しました。
ここで注目して頂きたいのがBOT名の下にある下記の定義です。
入力データに「検索ワード」が定義されています
出力データに「検索結果件数」が定義されています
内部データに「値1」(初期URL)が定義されています
つまり、このBOTは、「検索ワード」を入力値(引数)として指定して実行すると、Googleで検索した場合の「検索結果件数」を出力値として返すBOTとして動作するのです。
また、通常は操作対象のWEBサイトのURL(値1)は変わる事が無いので自動的に内部データとして定義されていますが、後から入力値に移動する事もできます。
URLを入力値に変更した場合、実行ごとに指定したURLに対して操作をする事ができるようになります。(テスト環境や本番環境等URLを変えて同じ操作を実行するようなケースでは有効です)
また、お気づきかと思いますが、操作記録時に入力した値が各データの初期値として定義されています。
もちろんこの値も設定で変更する事ができます。
ただ、一点初期値で気をつけて頂きたいのが、
操作記録時に入力したパスワードはデータ初期値として記録されません
これは、セキュリティ的にBOT内にパスワードやアカウント情報を埋め込む事を非推奨としている為です。
一度作った有用なBOTは、複数人で共有して利用する事が想定されます。
そういったBOT内にパスワード情報を埋め込むのはセキュリティ的に問題が発生する可能性が高いです。
BOT内には操作内容と初期データが定義されるべきで、認証に必要な情報はBOT実行時に都度入力値として引き渡すのが望ましいと考えています。
しかし、
毎回、パスワードを入力して実行するのが面倒
という方は、BOTの詳細画面にある「実行設定」に自分用のBOT初期値を保存する機能があるので、そちらに実行時のパスワードを保存して下さい。
実行設定は、自分のアカウントに紐づけてBOT情報とは別に暗号化保存されます。(現在は、複数アカウントで管理する機能を未提供なので違いが分かり難いと思いますが)
[ダッシュボードからBOT詳細が見れます]
話は戻りまして、保存画面右下の「保存」ボタンをクリックして新たなBOTとして登録します。
「終了」アイコンをクリックしてエディタを閉じます。
これでBOTの作成が完了しました。
BOTを作ったら実行してみよう
これまでの手順で、作成したBOT「Google検索結果取得」がダッシュボードに追加されました。
早速、「実行する」ボタンをクリックして実行してみましょう。
入力値の「検索ワード」に初期値として「RPA」が表示されています。(操作記録時に入力した値が初期値になる)
これをクリックして選択し、もう一度クリックすると修正する事ができます。
検索ワードに「クラウドBOT」と入力して「実行」ボタンをクリックします。
実行を押すと、Googleを開いて検索する操作がリアルタイムに表示されますが、
早すぎて実行中のスクリーンショットが取れなかった
ので、実際の動きは是非ご自身で作ってみて体験して下さい。(画面上で自動操作が動いていくのを見るのは結構楽しいです)
実行が完了すると下記の通り
「クラウドBOT」の検索結果件数「約 4,370,000 (0.34 秒)」
が返ってきました。
BOTを作ってみた結果
これは検索ワードを指定し、Googleの検索結果件数を返すだけの非常にシンプルなBOTです。
このBOTが何の役に立つかというと、多分何の役にも立ちません。
あえて言うと、BOT作成機能を理解する為の練習用として役に立ちます。
プログラミングでいう所の"Hello World"みたいなものですね。
ちなみに、このBOTをAPI化すると
引数に「検索ワード」を指定すると「検索結果件数」が返ってくるREST APIとして呼び出す事ができます。
ここまでの手順を見ただけでも、「あんな使い方」や「こんな使い方」が出来そうとか、「こんな場合どうやるんだろう」とか「こういう事もできるのかな」と疑問に思った方も居られると思います。
また、機能は分かったけど「活用イメージがわかない」「他のRPA製品との違いが分からない」と思った方も居られるかも知れません。
その辺りも含めて今後、少しづつ記事にしていければと思っています。
補足ですが結構大事なお話
最後に、ここまで紹介しておきながら今さらな話ではありますが、WEB自動化の対象として「Google検索」はあまりオススメできません。
その理由は、Google検索の画面は一見シンプルに見えて、実は日々微妙に画面構造(HTML構造)が変化しているからです。
・一度自動記録したボタンの位置(HTML構造)が翌日には変わっていた
・検索ワードによって結果画面の構成が変わっていた
・検索結果の位置が変わっていた
・広告表示が出たり出なかったり
・検索結果に動画表示があったり、サブリンクがあったり
等、1日単位どころか検索する毎に変わったりもします。
クラウドBOT®は、WEB画面のHTML構造を解析して操作対象の要素を特定しているので、HTML構造が少し変わるだけでも正常実行できなくなります。
以上の事から、Google検索はBOT作成の練習用題材としては分かりやすいのですが、自動化する対象のWEBサイトとして適していないと言えます。
これはRPA全般に言える事ですが、操作を自動化しやすいサイトはどんなサイトかというと
画面構造が変わらないサイト
です。
一番変わりにくいのが、ECサイトの管理画面や業務システム等です。
だいたい日々変化するような変化の激しいWEBシステムは主にSaaS型サービスかと思いますが、そういったサイトは公式のAPIを提供しているケースが多いです。
逆にあまり画面仕様が変わる事が無いレガシーなWEBシステムはAPIを提供していないケースが多いです。そして、そういうWEBシステムこそRPA化対象には向いているのです。
そのような特性も理解した上で、今後RPAやAPIを使い分けていく必要があると考えています。
今回は、画面も多く長い記事になってしまいましたが、ここまで読んで頂きありがとうございました。
本サービスに関する疑問や不明点等は、サービス公式でもお問い合わせ窓口を設けていますが、NoteやTwitter宛でも気軽に感想や質問をいただけるとありがたいです!
この記事が気に入ったらサポートをしてみませんか?