Windowsの無償デスクトップ自動化ツール「Power Automate Desktop」でWebブラウザーでの作業を自動化する

Power Automate Desktopは、自動化可能な作業の流れ(フロー)をデザインし、実行するためのソフトウェアです。Power Automate Desktopフローからのブラウザーの操作を使用したフローをデザインします。

ブラウザー自動化アクション

 日常作業で情報収集する場合、ブラウザーで情報を検索して、結果のページで情報を確認し、コピーして保存するという場面があります。

例えば、

  • 定期的にホームページ上で発表されているものを確認・データを保存する
  • 社内システムなどWebページへの日次の入力作業

といった定型作業です。

これらの作業もPower Automate Desktopのブラウザー自動化アクションによって自動化できます。

現時点で対応しているブラウザーは以下の通りです。

  • Microsoft Edge(Chromium base)
  • Firefox
  • Google Chrome

 フローデザインの前に、設定変更やブラウザーへの機能拡張のインストールが必要です。

既にインストールされていれば、こちらの手順は不要です。

ChromeのPower Automate Desktop拡張機能のインストール手順

 以下にChromeでのインストール手順を紹介します。
他のブラウザーでの手順については、「ブラウザーの使用と拡張機能の管理 - Power Automate | Microsoft Docs」も参考にしてください。
 

1.フローデザイナーを開く


 新しいフローを作成して、フローデザイナーを開きます。
 

2.インストールページを開く


 フローデザイナーの[ツール]メニューから[ブラウザー機能拡張]の[Google Chrome]をクリックして、インストールページを開きます。

3.Chromeに追加する


 拡張機能のインストールページが開くので、[Chromeに追加する]ボタンをクリックします。

ブラウザー関連のアクション
 ブラウザー自動化には以下のアクションがあります。

分類 アクション
基本 Webページに次が含まれる場合
  Webページのコンテンツを待機します
  新しいInternet Explorerを起動します
  新しいFirefoxを起動する
  新しいChromeを起動する
  新しいMicrosoft Edgeを起動する
  新しいタブを作成
  Webページに移動します
  Webページのリンクをクリックします
  Webページのダウンロードリンクをクリックします
  WebページでJavaScript関数を実行
  Webページの要素にマウスをホバー
  Webブラウザーを閉じる
Webデータ抽出 Webページからデータを抽出する
  Webページ上の詳細を取得します
  Webページ上の要素の詳細を取得します
  Webページのスクリーンショットを取得します
Webフォーム入力 Webページ上のテキストフィールドをフォーカス
  Webページ内のテキストフィールドに入力する
  Webページのチェックボックスの状態を設定します
  Webページのラジオボタンを選択します
  Webページでドロップダウンリストの値を設定します
  Webページのボタンを押します
 

ブラウザー自動化アクションによるフローの作成

 ここからは具体的にブラウザー関連のアクションを使って、フローを作成していきます。
まずはブラウザーからサイトにアクセスする方法からです。

 もっとも、ブラウザー自動化アクションを使用したフローをフローデザイナーだけで一から作成するのは面倒なので、「レコーダー」を使用して記録し、少しずつ改良してフローを作成することを考えます。

1.レコーダーを起動する


 新規にフローを作成して、名前を付けて、フローデザイナーを表示します。

ツールバーの[レコーダー]をクリックしてください。

2.ブラウザーを起動する


 [レコーダー]ウィンドウで、右上の[︙]ボタンをクリックして、[新しいブラウザーを起動する]―[Chrome]をクリックします。

3.移動先を「Google検索」ページにする


 ブラウザーのブランクページが起動します。[レコーダー]ウィンドウの移動先の右側の[about:blank]のところを選択して、「https://www.google.co.jp/」と上書きします。

 ブラウザーのアドレスバーにも、「https://www.google.co.jp/」を入力して、[Enter]キーを押して「Google検索」ページに移動します。

4.レコーディングを開始する


 [レコーダー]ウィンドウで、[記録]ボタンをクリックします。

 

記録が開始され、Chrome内のページ要素上でマウスカーソルをホバーさせると、赤枠が表示されます。クリックやキーボードの押す操作をするとクリックやキーボードを操作すると、その内容が記録されていきます。

 記録されたアクションを削除したい場合、ごみ箱のアイコンをクリックします。また記録せずに操作したい場合は、[一時停止]ボタンをクリックして操作します。レコード開始から記録したすべてのアクションを削除したい場合は、[リセット]ボタンをクリックします。
 

5.Googleで検索する

 


 検索欄にマウスカーソルを近づけて、input:textの赤枠が表示されるのを確認して、クリックします。入力できる状態になったら、「国民の祝日」と入力して、[Enter]キーを押して検索します。

 結果が表示されるので、一番上の「国民の祝日について - 内閣府」リンクをクリックします。

6.レコーダーを終了する


 [レコーダー]画面の下部の[終了]ボタンをクリックして、記録を終了します。

7.動作確認する


 フローデザイナーに戻ったら、記録したアクションが、ワークスペースにセットされます。

動作確認のために、ツールバーの[実行]ボタンをクリックします。再び、検索が実行されて、結果のリンク先(「国民の祝日について - 内閣府」)が表示されます。

ブラウザー自動化のアクションでWebページからデータを抽出する
 前項で作成したフローを編集して、フロー実行の結果が表示されているページからデータを抽出してみましょう。
 

1.データ抽出アクションを配置する


 アクションペインの[ブラウザー自動化]アクショングループの[Webデータ抽出]ノードを展開して、[Webページからデータを抽出する]アクションをフローの末尾に配置します。

 

2.Webページからデータを抽出する


 [Webページからデータを抽出する]の設定画面が開くので、そのままChromeの画面をアクティブにします。[ライブWebヘルパー]ウィンドウが表示されるので、「国民の祝日について - 内閣府」ページの要素上でのマウスカーソルホバーで赤枠が表示されます。

スクロールし、「〇令和4年(2022年)の国民の祝日」の下のテーブル要素の中で、右クリックします。コンテクストメニューが表示されたら[HTMLテーブル全体を抽出する]を選択します。

 [ライブWebヘルパー]ウィンドウに、テーブルの内容が表示されことを確認して、[終了]ボタンをクリックします。

 

3.抽出したデータをExcelシートに記録する設定をする


 [Webページからデータを抽出する]設定画面の[データ保存モード]で、「Excelスプレッドシート」を選択して[保存]します。

 

4.動作を確認する


 フローデザイナーに戻ったら、フローを保存して動作確認をし、ツールバーの[実行]ボタンをクリックします。すると、ページのテーブルの内容が、Excelのシートに転記されることが確認できます。

引き続きこのフローを使用しますので、フローデザイナー、ブラウザーのページは閉じないでおきます。

サイト上のファイルをダウンロードするフローの作成


 続いて、サイト上で公開されたファイルをフロー経由でダウンロードしてみましょう。

 これには[Webページのダウンロードリンクをクリックする]というアクションがありますが、現時点でChromeはサポートされていないようで、実行時にエラーになってしまいます。

代わりに、[HTTP]アクショングループの[Webからダウンロードします]アクションでファイルのダウンロードが可能です。[Webからダウンロードします]アクションは、URLを直接指定してブラウザーを使わずにダウンロードできます。WebページのダウンロードリンクのURLを取得して、[ドキュメント]フォルダーに保存するフローを作成します。
 

1.[Webページからデータを抽出する]アクションを配置する


 アクションペインの[ブラウザー自動化]グループの[Webデータ抽出]ノードを展開して、[Webページからデータを抽出する]アクションをフローの末尾に配置します。[Webページからデータを抽出する]の設定画面が開くのを確認します。
 

2.WebページからURLを抽出する


 Chromeの画面をアクティブにすると、[ライブWebヘルパー]ウィンドウが表示されます。「国民の祝日について - 内閣府」ページの要素上でマウスカーソルをホバーすると、赤枠が表示されますので、「〇令和4年(2022年)の国民の祝日」のテーブルの表の下にあるハイパーリンク「昭和30年(1955年)から令和4年(2022年)国民の祝日(csv形式:19KB)」の上にマウスカーソルを持っていき、<a>の赤枠が表示されていることを確認してください。この状態で右クリックして、コンテクストメニューを表示し、その中から[要素の値を抽出]―[Href:('https://... ')] を選択します。

 

 

 

3.Webページからデータを抽出するアクションを設定する


 ライブWebヘルパーを終了します。Webページからデータを抽出するアクションのパラメーターの選択画面で、[生成された変数]から「%URL%(DataFromWebPageとなっているところをクリックして編集できる)」として、保存します。

 

 

4.特別なフォルダーアクションを配置する


 ダウンロードファイルを保存するために、ドキュメントフォルダーパスの取得すべく[フォルダー]アクショングループの[特別なフォルダー]アクションをフローの末尾に配置します。

 

設定画面が開くので、以下のように選択・入力して保存します。

特別なフォルダーのフォルダーの名前:ドキュメント
生成された変数:%DocumentPath%

5.[Webからダウンロードします]アクションを配置する


 [HTTP]アクショングループの[Webからダウンロードします]アクションをフローの末尾に配置します。

 

設定画面が開くので、以下のように選択・入力して保存します。

URL:%URL%
応答を保存します:ディスクに保存します(ファイル用)
宛先フォルダー:%DocumentPath%

6.動作確認する


 フローデザイナーに戻ったら、フローを保存して動作確認をします。ツールバーの[実行]ボタンをクリックし、フローが無事実行できると、ドキュメントフォルダーに、syukujitsu.csvが保存されます。

 

フローを保存して、フローデザイナーを閉じます。