株式会社 ASAHI Accounting Robot 研究所
概要
Microsoft が提供する業務プロセス自動化ツールである Power Automate のRPA機能、Power Automate for desktop.
Windows10 以上のOSを利用であれば無償で利用可能となったことで注目を浴びていますが、その実力を実例をもとに紹介します。
はじめに
Power Automate for desktop とは Power Automate の RPA機能となっており、その前身はギリシャのSoftomotive社が開発した WinAutomation という製品です。
2020年5月に Microsoft社が Softomotive社をM&Aしたことにより、WinAutomation が Power Automate Desktop という製品にうまれかわり、その後、Power Automate for desktop という名称に変更されました。
Power Automate for desktop という名称は長いので、当ブログ内ではPADと表記させていただきます。
PADはそれ単体で他のRPAツールと比較されていたりしますが、あくまでも Power Automateという自動化ツールからRPA部分を切出しているイメージが近いです。ですので、作成したフローの管理や実行中フローの監視、スケジュールによる実行やトリガーによる実行などの機能は Power Automate(クラウド)側にあり、PADのコンソール画面は非常にシンプルなつくりになっています。
このPADの特徴としては、Windows 10以上のOSをご利用中であれば無料で利用可能という事です。
無料でも制限なくPADの全ての機能が利用できるので、Microsoftアカウント、もしくは組織アカウントがあれば、どなたでも今すぐに利用開始する事が出来ます。
インストール方法については以下サイトに記載されていますので、是非こちらのサイトをご参照ください。
インストール手順 - Power Automate サポート (asahi-robo.jp)
当ブログ1回目は、弊社(株式会社ASAHI Accounting Robot 研究所)にも良くお問合せいただく、「このPADでどんなことができるのか」という所をご紹介したいと思います。
<Webスクレイピング>
RPAで自動化したい業務の一つに、「Webページから情報を抽出してまとめる」という作業があるかと思います。
実際に弊社の取引先でも
- AEDのバッテリー残量が30%を切った機器を抽出する
- 為替の履歴を抽出する
などで利用している企業がいます。
Power Automate for desktop は、このようなWebスクレイピング機能も簡単に実装する事が出来ます。
<注意事項>
RPAでWebページを操作する際には当該ページの利用規約をよく読み、RPAなどの自動化が禁止されていないかを確認しましょう。
今回は弊社のPower Automate for desktop 勉強用サイト 得意先一覧 | ASAHI Practice Apps (asahi-robo.jp) を利用してWebスクレイピングを行っていきます。
下図の得意先一覧から会社名とホームページのURLを取得し、さらにそれぞれの得意先のページを開き、住所を取得してExcelにまとめるという業務を想定し、得意先一覧のページからデータを抽出していきたいと思います。
<Webページからデータを抽出する>
Power Automate for desktopでWebスクレイピングをする際には「Webページからデータを抽出する」というアクションを利用します。
今回は得意先一覧のページが既にMicrosoft Edge上で開いており、その状態からフローをスタートすると仮定します。
最初に、これから操作するブラウザをロボットに認識させる必要があります。この作業には「新しいMicrosoft Edgeを起動する」アクションを利用します。
このアクションはブラウザを新規で起動したり、既に開いているブラウザをロボットに認識させるために使用します。
今回は操作対象のブラウザが既に起動しているので、起動モードを「実行中のインスタンスに接続する」に変更し、以下のように設定します。
起動モード:実行中のインスタンスに接続する
Microsoft Edge タブに接続する:URLを使用
タブのURL:操作したいページのURL(今回は https://support.asahi-robo.jp/learn/customers/ )
これでロボットがこれから操作するブラウザを認識してくれます。
続いて、既述の「Webページからデータを抽出する」アクションを配置します。
このアクションはその他のアクション異なり少し操作が特殊です。
アクションを配置すると下図のようなウィンドウが開きますので、その状態でデータを抽出したいWebページにフォーカスを当てます。(前面に持ってくる)
すると、「ライブ Web ヘルパー」というウィンドウが自動的に起動してきます。
これで抽出するデータを選択する準備ができます。
ライブ Web ヘルパーのウィンドウが開いた状態で、データを抽出したいWebページ上にカーソルを移動すると、赤い枠が表示されます。この赤い枠を抽出したいデータ、今回であれば会社名の1行目にあて、右クリック⇒「要素の値を抽出」⇒「テキスト」の順に選択します。
すると、下図のように1行目の会社名を取得できます。
同様に、2行目の会社名に赤い枠をあて、1行目と同じように右クリック⇒「要素の値を抽出」⇒「テキスト」を選択します。
すると、残りの行全ての会社名を取得する事が出来ます。会社名だけを取ってきたければ、最初の2行分だけ取得するだけで良いので非常に簡単ですね。
続いてホームページのURLも取得してきたいと思います。
これについても、ライブ Web ヘルパーが開いている状態で、ホームページの欄の1行目のデータを会社名の時と同じように取得します。
すると、ライブ Web ヘルパーのウィンドウ上で2列のテーブルが出来上がります。
これで会社名、ホームページのURLを10社分取得する事が出来ました。
<カスタム属性を利用する>
次に、リンクをクリックして得意先の詳細ページを開くための情報を取得したいと思います。
どのような情報を取得してきたら良いかを手っ取り早く知るよう方法としては、「Webページのリンクをクリックします」アクションを利用して、対象のリンクのUI要素を取得する事です。
今回はUI要素の取得方法は割愛します。
フローデザイナーウィンドウ右側にあるUI要素のアイコンをクリックし、先ほど取得したUI要素の右側にある「・・・」をクリックし、メニューから「編集」を選択し、取得してきたUI要素のセレクター情報を確認すると、下図のように a[id=”lnk0001”] となっており、idという情報が必要な事が分かります。
では、このidの情報を取得してみましょう。
先程までの会社名、URLの時と同様に、ライブ Web ヘルパーのウィンドウが開いている状態で、リンクを含んでいるコードの1行目に赤い枠をあて、同様に「右クリック」⇒「要素の値を抽出」の順で選択していきます。
ですが、選択肢の中には「id」がありません。そのような場合には選択肢の一番下、「カスタム属性」を選択します。
カスタム属性を選択し、「カスタム属性の選択」ウィンドウに「id」と入力し、OKボタンをクリックします。
すると下図のように会社名、URL、id情報の3列のデータが出来上がります。
これで必要な情報は取得できます。
ですが、このままでは抽出したデータを活用しづらいです。
というのも、それぞれの列名が「Value #1、Value #2」のようになっており、1列目が何の値を取得してきているのかが分かりづらいからです。
<列名を変更する>
後で活用しやすくするためにそれぞれの列名を変更しましょう。
列名の変更はライブWebヘルパーのウィンドウ上で直接行う事が出来ます。
これで列名が分かり易くなりました。
ここまでの流れを試しに動かしてみると、以下のように欲しい情報が取得できている事が分かります。
<まとめ>
このように、Power Automate for desktopを利用するとWebスクレイピングも簡単に実装する事が出来ます。
この他にも、「Webサービスを呼び出します」アクションを利用する事で、API連携も実装する事が出来ます。
無償のPADでも幅広い業務の自動化が可能となっています。
「掲載日:2022年6月1日」
(次回) → 【第2回】 Power Automateを活用して自動化をより身近に
【連載目次】株式会社 ASAHI Accounting Robot 研究所 【第1回】 Microsoft のRPA機能 Power Automate for desktop の実力 |