Power Automate Desktopでブラウザ操作:Webの画面への入力とデータの取得

公開 書いた人 大林 諒

Power Automate(パワーオートメイト)のうち、パソコンの画面を操作する Power Automate for desktop(Power Automate Desktop)は、Microsoft Edge や Google Chrome の中の Web ページも操作できます。ログイン ID とパスワードを入れてボタンを押す、表の値を読み取って Excel に貼る、といった、人がブラウザで毎日繰り返している作業です。この記事では、ブラウザ操作のアクションの一覧、業者の発注サイトに発注を入力するフローの作り方、Web の表を Excel に取り込む方法、画面が変わったときの直し方を、アクションの設定値つきで書きます。例は、Microsoft 365 Business Standard を使う社員15名ほどの「サンプル工務店」で、資材業者の発注サイト order.example への入力を、事務のパソコン1台で自動にします。インストールとブラウザ拡張機能の入れ方は「Power Automate Desktopの使い方:インストールから最初のフローまで」に書いています。

この記事の内容
  1. 先に決めること
  2. ブラウザ操作のアクション一覧
  3. 手順:order.example にログインして発注を入力する
  4. 応用:Web の表を Excel に取り込む
  5. できないことと、その代わり
  6. よく詰まるところ
  7. 次にやること

先に決めること

ブラウザの操作は、画面が変わると止まります。作り始める前に、次の4つを決めます。

1つ目は、そもそも画面を操作する必要があるかです。相手のサービスに API(プログラムからデータをやり取りする窓口)があれば、画面を操作せずにデータを送れます。画面の変更で止まることがなく、速さも段違いです。order.example の担当者に「発注を API で受け付けているか」「CSV の一括取り込みがあるか」を先に聞きます。どちらも無いときに、ブラウザ操作を選びます。

2つ目は、自動で操作してよいかです。サイトの利用規約に、自動ツールでのアクセスやデータの収集を禁じる条文がないかを読みます。業者のサイトなら、自動で入力することを担当者に伝えて了解を取っておきます。この点は後の節でもう一度書きます。

3つ目は、使うブラウザです。サンプル工務店は Microsoft Edge に揃えています。Power Automate の拡張機能が Edge に入っていて有効なこと、Edge の「Microsoft Edge が閉じられたときにバックグラウンド アプリを実行し続ける」がオフになっていることを確かめておきます。

4つ目は、ログインのパスワードの扱いです。フローの中にパスワードをそのまま書くことはしません。実行のたびに人が入れるのか、Power Automate の「資格情報」に預けるのかを決めます。

ブラウザ操作のアクション一覧

アクション ペインの「ブラウザー自動化」の下にあるアクションのうち、よく使うものです。名前は 2026年10月時点のリファレンスの表記です。

アクション何をするか主な設定
新しい Microsoft Edge を起動するEdge を開く、または開いている Edge につかまる起動モード、初期 URL、ウィンドウの状態、ブラウザーの操作方法(ブラウザー拡張機能/WebDriver)。変数 %Browser%
新しい Chrome を起動するChrome で同じことをするEdge と同じ
Web ページに移動します別の URL に移る、戻る、再読み込みURL
Web ページ内のテキスト フィールドに入力する入力欄に文字を入れるUI 要素、テキスト(直接暗号化された入力も選べる)、タイピングのシミュレーション
Web ページのボタンを押すボタンを押すUI 要素、ページが読み込まれるまで待機
Web ページでリンクをクリックリンクや任意の部品をクリックするUI 要素、クリックの種類、物理的クリックを送信
Web ページでドロップ ダウン リストの値を設定します選択肢から選ぶ名前でオプションを選択する/インデックスでオプションを選択する
Web ページのチェック ボックスの状態を設定するチェックを入れる・外すチェック ボックスの状態
Web ページのコンテンツを待機する文字や部品が出る(消える)まで待つ次の要素を含む/テキストを含む など
Web ページが次を含む場合文字や部品があるかで分岐するContains 要素/テキストを含む など
Web ページ上の要素の詳細を取得する部品の文字や属性を読む属性名。変数 %AttributeValue%
Web ページからデータを抽出する値・リスト・表をまとめて読む抽出モード、ページングの使用、データ保存モード(変数/Excel スプレッドシート)。変数 %DataFromWebPage%
Web ブラウザーを閉じるブラウザを閉じるWeb ブラウザーのインスタンス

どのアクションにも「Web ブラウザーのインスタンス」の欄があり、起動のアクションが作った %Browser% を入れます。ほとんどのアクションには「UI 要素」の欄もあり、操作する部品を指定します。

フロー デザイナーのアクション ペインで「ブラウザー自動化」を開いたところ
フロー デザイナーのアクション ペインで「ブラウザー自動化」を開いたところ

手順:order.example にログインして発注を入力する

サンプル工務店では、工事の現場監督が SharePoint の「発注」リストに資材を登録し、事務B がそれを Excel C:\業務\発注\発注リスト.xlsx に書き出して、1件ずつ order.example に打ち込んでいました。列は「品番」「数量」「納品先現場」「希望納期」「発注番号」の5つで、発注番号は入力後にサイトが出す番号を書き戻す欄です。これを自動にします。

UI 要素をキャプチャする

ブラウザ操作のアクションは、どの部品を操作するかを UI 要素で指定します。先に必要な部品を全部取っておきます。

  1. Edge で order.example を開いておく
  2. フロー デザイナーの右の「UI 要素」タブを開き、UI 要素を追加するボタンを選ぶ(ブラウザ操作のアクションの「UI 要素」欄からも追加できる)
  3. Edge に切り替え、ログイン ID の入力欄にマウスを合わせて赤い枠が出たら Ctrl キーを押しながら左クリックする
  4. 同じようにパスワード欄、「ログイン」ボタンを取る
  5. 一度手でログインし、「新規発注」リンク、品番・数量の入力欄、納品先現場のドロップダウン、希望納期の入力欄、「確認」ボタン、「確定」ボタン、確定後に出る発注番号の文字を順に取る
  6. 小窓の「完了」を選ぶ
  7. UI 要素タブで、取った要素を右クリック→「名前の変更」で「発注_ログインID」「発注_品番」のように分かる名前にする

Web の部品を取るには、そのブラウザに Power Automate の拡張機能が入っている必要があります。赤い枠が部品ごとではなくブラウザ全体にしか出ないときは、拡張機能が無効です。

Edge の order.example のログイン画面で、ログイン ID の入力欄に赤い枠が出ていて、横に UI 要素を追加する小窓が出ているところ
Edge の order.example のログイン画面で、ログイン ID の入力欄に赤い枠が出ていて、横に UI 要素を追加する小窓が出ているところ

アクションの並び

順番アクション設定
1Excel の起動C:\業務\発注\発注リスト.xlsx を開く
2Excel ワークシートから読み取るワークシートからのすべての使用可能な値、範囲の最初の行に列名が含まれます オン
3新しい Microsoft Edge を起動する新しいインスタンスを起動する、初期 URL https://order.example/login、ウィンドウの状態 最大化
4Web ページ内のテキスト フィールドに入力する発注_ログインID に %LoginId%
5Web ページ内のテキスト フィールドに入力する発注_パスワード に資格情報のパスワード
6Web ページのボタンを押す発注_ログインボタン
7Web ページのコンテンツを待機するテキストを含む 発注メニュー
8変数の設定Row に 2
9For each%ExcelData% を Order に
10Web ページでリンクをクリック発注_新規発注
11Web ページ内のテキスト フィールドに入力する発注_品番 に %Order['品番']%
12Web ページ内のテキスト フィールドに入力する発注_数量 に %Order['数量']%
13Web ページでドロップ ダウン リストの値を設定します名前でオプションを選択する %Order['納品先現場']%
14Web ページ内のテキスト フィールドに入力する発注_希望納期 に %Order['希望納期']%
15Web ページのボタンを押す発注_確認ボタン
16Web ページのコンテンツを待機するテキストを含む 発注内容の確認
17Web ページのボタンを押す発注_確定ボタン
18Web ページ上の要素の詳細を取得する発注_発注番号、属性名は要素の文字を返すものを候補から選ぶ
19Excel ワークシートに書き込む%AttributeValue% を E列 %Row% 行目へ
20変数を大きくする%Row% を 1
21Web ブラウザーを閉じる%Browser%
22Excel を閉じるドキュメントを保存する

ログイン ID は、変数ペインの「+」→「入力」で LoginId という入力変数を作って渡します。ID は秘密ではありませんが、フローに直接書かないでおくと、担当が変わったときにフローを開かずに差し替えられます。

手順の要点

  1. 「新しい Microsoft Edge を起動する」の「起動モード」は「新しいインスタンスを起動する」にする。人が使っている Edge につかまると、別のタブに入力することがある
  2. 「Web ページ内のテキスト フィールドに入力する」は、既定の「タイピングのシミュレーション」がオンのままでよい。入力しても次の欄が出てこないサイトでは、「物理的にキー入力を行ってテキストを入力する」をオンにする。このときはブラウザが前に出るので、実行中はパソコンを触らない
  3. ボタンやリンクのアクションの「ページが読み込まれるまで待機」はオンのままにする。ページの読み込みが終わっても中身があとから出てくるサイトがあるので、画面が切り替わる所には「Web ページのコンテンツを待機する」を足し、次の画面にしか出ない文字(「発注メニュー」「発注内容の確認」)が出るまで待たせる
  4. 「待機」アクションで「5秒待つ」と決め打ちするのは避ける。回線が遅い日に間に合わず、速い日は無駄に待つ
  5. 最初は「確定」ボタンのアクション(17)から後ろをまだ置かずに、「確認」画面まで進むことを確かめる。業者のサイトに本物の発注が飛ばないよう、試すときは必ずここで止める
  6. 確認画面まで正しく入ることを3件ほど見てから、17以降を足す
完成した「order.example 発注入力」フロー。For each の中に入力・クリック・待機のアクションが並び、「確認」ボタンを押して確認画面を待つところまでで止めてあるところ
完成した「order.example 発注入力」フロー。For each の中に入力・クリック・待機のアクションが並び、「確認」ボタンを押して確認画面を待つところまでで止めてあるところ

セレクターを確かめる・直す

UI 要素の中身は「セレクター」という、部品の場所を表す文字列です。キャプチャしたときに自動で作られ、> で親子をつないで書かれます。サイトの画面が少し変わると、このセレクターが部品を見つけられなくなってフローが止まります。

  1. UI 要素タブで要素をダブルクリックすると、セレクターの編集画面が開く
  2. 左にセレクターの一覧、右に要素の階層と属性(id、class、name、Text など)が並ぶ。属性のチェックを外すと、その属性を見なくなる
  3. 演算子は既定の「等しい」のほか、「次を含む」「で始まる」「で終わる」「等しくない」「正規表現の一致」が選べる。たとえば id の末尾に毎回変わる数字が付くなら、「で始まる」で前の部分だけを見る
  4. 右上の切り替えでテキスト エディターにすると、セレクターを文字で直接直せる
  5. 1つの UI 要素にセレクターを複数持たせられる。最初のセレクターで見つからなければ、上から順に次のセレクターを試す。「再キャプチャするセレクター」で取り直すか、既存のセレクターを右クリック→「コピーを作成する」で作る

壊れにくいセレクターにするには、画面の位置や順番(何番目の div か)ではなく、id や name のように意味のある属性だけを残します。見た目の文字(ボタンの表示名)は、サイトの文言が変わると壊れるので、id が無いときの予備にします。

セレクター ビルダー。左にセレクター、右に属性のチェックボックスと演算子のドロップダウンが並んでいるところ
セレクター ビルダー。左にセレクター、右に属性のチェックボックスと演算子のドロップダウンが並んでいるところ

パスワードを直書きしない

パスワードの入れ方は、次の順で選びます。

方法何が要るか向いている場面
Power Automate の「資格情報」に預け、「資格情報の取得」アクションで取り出すPower Automate Premium、Azure Key Vault(または CyberArk)、Power Automate に登録したパソコン無人で動かす、複数の人で使う
実行のたびに「入力ダイアログを表示」でパスワードを入れてもらう(「入力タイプ」を「パスワード」にし、入った値 %UserInput% をパスワード欄に渡す)追加の契約なし人がパソコンの前にいて、自分で「実行」を押す
「テキスト」欄の「直接暗号化された入力」追加の契約なし使わない。フローを開ける人なら誰でもそのパスワードでログインでき、パスワードを変えるたびにフローの修正が要る

資格情報は、Power Automate の Web 画面の「資格情報」ページで「新しい資格情報」から作ります。使う場所を「デスクトップ フロー」、保管場所を Azure Key Vault にします。取り出した変数は自動で機密扱いになり、実行のログに値が残りません。サンプル工務店は人が朝に「実行」を押す運用なので、入力ダイアログで毎回入れる方法にしています。

「入力ダイアログを表示」の設定ダイアログ。「入力タイプ」が「パスワード」になっていて、実行時に伏せ字で入力する欄が出るところ
「入力ダイアログを表示」の設定ダイアログ。「入力タイプ」が「パスワード」になっていて、実行時に伏せ字で入力する欄が出るところ

応用:Web の表を Excel に取り込む

order.example の「発注履歴」の画面には、発注番号・品番・数量・出荷状況の表があります。月末にこれを Excel にして、工事案件ごとの資材費と突き合わせます。

  1. Edge で発注履歴の画面を開いておく
  2. フローに「Web ページからデータを抽出する」を置き、Web ブラウザーのインスタンスに %Browser% を入れる
  3. ダイアログが開いている間、ブラウザ側に「ライブ Web ヘルパー」の小窓が出る
  4. 表の上で右クリック→「HTML テーブル全体を抽出する」を選ぶ。表として認識されないときは、1行目の値を2つ右クリック→「要素の値を抽出」で取ると、残りの行を自動で見つける
  5. 表が複数ページに分かれているなら、「次へ」のボタンを右クリック→「要素をページャーとして設定」を選ぶ
  6. ライブ Web ヘルパーを閉じ、アクションの設定で「ページングの使用」と「すべての Web ページを取得する」をオンにする
  7. 「データ保存モード」を「Excel スプレッドシート」にして「保存」を選ぶ。実行すると新しい Excel が開いて表が貼られ、%ExcelInstance% ができる
  8. 続けて「Excel を閉じる」を「名前を付けてドキュメントを保存する」で置き、C:\業務\発注\発注履歴_2026-10.xlsx に保存する

データ保存モードを「変数」にすると、%DataFromWebPage% にデータ テーブルとして入ります。行ごとに条件で振り分けたいときは変数で受け、For each で回します。回し方は「Power Automate Desktopの変数・条件・ループとエラー処理」にあります。

order.example の発注履歴の表の上にライブ Web ヘルパーが重なり、表全体が抽出の対象として囲まれているところ
order.example の発注履歴の表の上にライブ Web ヘルパーが重なり、表全体が抽出の対象として囲まれているところ

利用規約と robots.txt

取引先の発注サイトのように、自社のアカウントで自社の分を入力・取得するのは、普段の操作を速くしているだけです。それでも、サイトの利用規約に自動ツールの禁止がないか、担当者に一言伝えたかを確かめます。

一方、ログインせずに見られる他社のサイトから情報を集めるのは、話が変わります。利用規約でデータの収集や自動アクセスを禁じていれば従います。サイトの /robots.txt で自動巡回を断っている場所は取りに行きません。短い間隔で大量のページを開くと、相手のサーバーに負担をかけ、アクセスを止められることもあります。ページを移るごとに間を空け、必要なページだけを開きます。

API があるなら API を使う

相手が API を出しているなら、画面操作より API を選びます。方法は3つあります。

方法どこで動くか費用の目安(2026年10月時点)
Power Automate for desktop の「Web サービスを呼び出す」パソコンの中手元で人が実行するなら追加なし
クラウドフローの HTTP アクションやカスタム コネクタMicrosoft のクラウドカスタム コネクタやプレミアム コネクタを使うなら Power Automate Premium(1ユーザー月額2,248円、年払い・税抜)が要る
n8n などのワークフロー ツール自社のサーバーやそのツールのクラウドツールごとに異なる

クラウドフローで API を呼ぶ方法は「Power AutomateのHTTPとカスタムコネクタ:APIで外のサービスとつなぐ」、Power Automate と n8n や Zapier、ほかの RPA の比べ方は「Power AutomateとRPA・n8n・Zapierの比較:どれを選ぶか」に書いています。

できないことと、その代わり

できないこと代わりの手
画面を見ずに確実に動かし続ける画面の変更で止まる前提で、止まったときに気づく仕組み(失敗したらメールを送る)を入れる
画像認証(CAPTCHA)を通す自動では通さない。業者に API か CSV 取り込みを相談する
多要素認証のコード入力を自動で通すログインは人がして、フローは「新しい Microsoft Edge を起動する」の起動モード「実行中のインスタンスに接続する」でその Edge につかまる
手で開いたブラウザを WebDriver の方式で操作する既定の「ブラウザー拡張機能」の方式にする
新しいブラウザでの「Web ページでダウンロード リンクをクリック」このアクションは Internet Explorer 向け。HTTP の「Web からダウンロード」か、普通のクリックと「ファイルを待機する」(ファイルが作成されるまで待つ設定)に置き換える
実行中に同じパソコンで別の作業をする(物理的なクリックや入力を使う場合)物理的な操作のオプションを使わずに済む作りにする。だめなら実行の時間帯を決める

よく詰まるところ

症状原因直し方
Ctrl+クリックで部品が取れず、ブラウザ全体が赤枠になる拡張機能が入っていない、または無効拡張機能を入れて、ブラウザの拡張機能の一覧で有効にする
「新しい Microsoft Edge を起動する」で止まるEdge が裏で動き続けている、拡張機能が古いEdge の「バックグラウンド アプリを実行し続ける」をオフにし、Edge を全部閉じてから実行する
「指定された CSS セレクターを持つ要素が見つかりません」サイトの画面が変わった、読み込みが終わる前に操作したセレクターを開いて、変わった属性を外すか演算子を「次を含む」にする。前に「Web ページのコンテンツを待機する」を足す
入力したはずの欄が空のまま送られる入力を一度に流し込んでいて、サイト側が入力を検知していない「物理的にキー入力を行ってテキストを入力する」をオンにする。または「テキストボックスに入力した後でフォーカスを外す」をオンにする
ボタンを押しても何も起きない見た目はボタンだが中身はリンクや画像「Web ページでリンクをクリック」に替える。だめなら「物理的クリックを送信」をオンにする
ドロップダウンで選べない本物の選択リストではなく、作り込みの選択部品部品をクリックしてから、出てきた選択肢の文字を「Web ページでリンクをクリック」でクリックする
抽出した表の行が足りない2ページ目以降を取っていない、続きをスクロールで読み込むページページャーを設定して「すべての Web ページを取得する」をオンにする
毎回同じ発注が二重に入る途中で止まったあと、最初からやり直している発注番号の列が埋まっている行は If で飛ばす
別の人のパソコンでは動かない画面の大きさや拡大率が違い、画像で取った部品の位置がずれる画像ではなく UI 要素で取る。ウィンドウの状態を「最大化」で揃える
夜間に動かすとログイン画面で止まるブラウザのログイン状態が切れている毎回ログインからやる作りにする。無人で動かすなら資格情報を使う

次にやること

最初の発注入力が動いたら、止まったときの処理を足します。セレクターが見つからなかったときにスクリーンショットを残して担当者にメールを送る、といった作り方は「Power Automate Desktopの変数・条件・ループとエラー処理」にあります。

画面操作に頼らずに済む方法があるかも、あらためて確かめます。相手に API があれば「Power AutomateのHTTPとカスタムコネクタ:APIで外のサービスとつなぐ」、ほかのツールも含めて選び直すなら「Power AutomateとRPA・n8n・Zapierの比較:どれを選ぶか」を見てください。拡張機能やレコーダーの基本に戻りたいときは「Power Automate Desktopの使い方:インストールから最初のフローまで」です。

あわせて読む