はじめに
PowerAutomateDesktop(以降PADと呼びます)を使用してWeb情報を抽出する際、
全体情報を取得して、PAD内で必要な部分を残す処理をしてごまかしていました。
工数が増えるし読みにくいしメンテナンス制を考え直して作り直しに目覚めました。
「もっと効率を」「ログイン情報や余計なキャッシュはいらない」と調べる中で最適な方法を見つけたので備忘録として残します。
※今回の説明で使用しているブラウザは「Google Chrome」です。
※Web情報を抽出……この記事では「HTMLテーブル」情報を扱います。
また、タイトル部分は抽出できていません。
【注意】
検証を重ねてコード掲載に至っておりますが、ご利用は最新の公式情報を参照の上、自己責任でお願い申し上げます。
一部手順を省略している場合があり、お使いのOS環境によりましては上手く動作しない場合がございます。※Web情報を取得する際はお使いのブラウザで「拡張機能」メニューで「PowerAutomateDesktop」を有効化する必要があります。
また、今回使用する「シークレットモード」は拡張機能を有効化したあとに、「シークレットモードでも実行許可」を有効化する必要があります。
1.Chromeブラウザをシークレットモードで立ち上げる
・まずはPowerAutomateDesktopアプリを起動し、新しいフローを作成してください。
作成しましたらアクション名「アプリケーションの実行」を「Main」にドラック&ドロップで追加します。
・「アプリケーションパス:」にはChromeの起動ファイルが格納されているパスを指定します。
「コマンドライン引数」にはシークレットモードオプション「--incognito」を指定します。

まだシークレットモードでは開けません。さらにアクション「新しいChromeを起動する」を追加します。
・「起動モード」には「実行中のインスタンスに接続する」
・「Chromeタブに接続する」には「フォアグラウィンドウを使用」
※残り2つはデフォルト値のため省略
・これでChromeをシークレットモードで起動できます。
2.対象ページにアクセスし特定情報だけをデータテーブルで抽出する。
今回の抽出対象です。
※「売上高(百万円)」「売上総利益(百万円)」などのタイトル項目は抽出できていません。
・アクション「Webページ移動」を追加します。今回はヤフーファイナンスのトヨタ自動車の業績を例とします。
・実際にURLにアクセスし画面は開いたまま一旦、PADの編集に戻ります。
「https://finance.yahoo.co.jp/quote/7203.T/performance」

・アクション「Webページからデータを抽出する」を追加して下図メニューを開いたまま、先ほどのヤフーファイナンスのページに戻ってください。

・マウスカーソルを動かしていくと取得できる部分が赤枠で囲まれます。
今回は一覧表データの中から特定の項目を抽出しますが、取得する際は全体として(テーブル)として取得します。
・下図の用に赤枠で「Table」とでましたら右クリックを行うことで取得部分を選択状態にしています。
・このままですと不要な情報が取得されますので、「ライブWebヘルパー」と書かれたウインドウズメニュー左下にある「詳細設定」をクリックしてください
・ここでは@spumoni(spumoni)様の記事を参考にCSSセレクターという物を使用して抽出項目の確定を行います。
参考記事:https://qiita.com/spumoni/items/fcc71034ce162fcf3db7
・「抽出」には「テーブル」
・「基本CSSセレクター」には「#Table-1 > tbody > tr」
・「CSSセレクター」の一番上には「th」、属性には「Own Text」、
2番目からは「td:eq(0)」、属性には「Own Text」を指定してください。
「td:eq(0)」の数字は列番号です。数字を指定することで特定の列だけを抽出できます。
・1つの「CSSセレクター」に対して1列しか指定できません(…たぶん)
ですので抽出する列ごとに「追加のCSSセレクターの指定」と書かれた左側の+をクリックしてください。
※今回の記事では5列分抽出しますので0から開始して抽出したい列を指定します。
※下図の例ですと0列目は「2026年3月期(会社予想)」と縦に書かれた部分、 1列目は「売上高(百万円)」、2列目は「売上総利益(百万円)」となるわけです。
3.データテーブルを完成させる
このままですと取得したデータテーブルがなんの情報かわからないのでタイトル行を追加します。
・アクション「行をデータテーブルに挿入する」を追加します。
・「データテーブル」は「{X}」をクリックして変数を選択します。
・「挿入場所」は「行インデックスの前」
※画像の場合は「0」を指定していますので1行目に新しい情報を指定します。
・「新しい値」に書かれているのはタイトル項目です。
「''」で文字を囲み「,」で次の列に入る文字と区切ります。
さらに半角スペースを入れています。
・最後に前後を「%[]%」で囲みます。

・完成図です。今回は列だけなので余計な行の削除はまたの機会に…
中途半端でごめんなさい💦






