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が保存されます。
フローを保存して、フローデザイナーを閉じます。