Power Automate DesktopでWebページのファイルをダウンロードする方法(暫定版→一旦解決)

Power Automate DesktopでWebページのファイルのダウンロードがうまくいかずにはまったので備忘録です。
ちなみに、「暫定版」とあるようにイケてない内容です。

(2021.9.15追記)
ASAHI Accounting Robot研究所さんに情報をいただき方法が分かりました。

Webレコーダーでは要素が取れない

まずは、Webレコーダーでレコーディングをしましたが、ダウンロード画面でUI要素を取得できず断念。

スクリーンショット 2021-09-13 204332

「Webページのダウンロードリンクをクリックします」はエラー

「Webオートメーション」に「Webページのダウンロードリンクをクリックします」というアクションがあるのですが、こちらを使うと下記エラーが出てしまいます。(IEしか対応していないようです。)

スクリーンショット 2021-09-13 205435

Edgeのダウンロード設定を変えてみる

苦肉の策で、Microsoft Edgeのダウンロード設定を変更してみました。
・「ダウンロード時の動作を毎回確認する」をオフ
・「場所」のパスを覚えておく。(通常は「ダウンロード」フォルダ)

スクリーンショット 2021-09-13 204135

ダウンロードリンクをクリックすると、上記パスに保存されるような設定になりました。

スクリーンショット 2021-09-13 211817

「Webページのリンクをクリックします」アクションを使用

この設定にしておけば、単純に「Webページのリンクをクリックします」アクションのみでファイルがダウンロードされます。
(Webレコーダーでも可能)

スクリーンショット 2021-09-13 212724

ダウンロードしたファイルを使用したい場合は「Webページ上の要素の詳細を取得」

今回はダウンロードしたファイルを続けて使用したかったため、あらかじめ「Webページ上の要素の詳細を取得」でファイル名を取得しました。

スクリーンショット 2021-09-13 212214

保存されたフォルダ名とダウンロードしたファイル名(変数AttributeValue)が分かっているので、ダウンロードしたファイルを使用してフローを続けることが可能です。

スクリーンショット 2021-09-13 214527

ただし、この方法は表示されているテキストとダウンロードされたファイル名が一致する場合にしか使用できませんのでご注意ください。
(他の属性でファイル名が取れないか確認しましたが、ダメそうでした。)

まとめ

この内容はEdge側の設定を変更するというどちらかというと禁じ手になります。
きっともっと良い方法があるはずなので、良い方法が見つかったら追記します。

【フロー全体】

スクリーンショット 2021-09-13 214843

追記:手順①新しいMicrosoft Edgeを起動する

追記:手順②ダウンロードURLを取得する

「Webオートメーション」→「Webデータ抽出」→「Webページ上の要素の詳細を取得します」アクションを追加。

Webブラウザーインスタンス:ダウンロードリンクがはってあるページのURL
UI要素:ダウンロードボタンのUI要素
属性名:HRef

スクリーンショット 2021-09-15 202532

追記:手順③「Webからダウンロードします」アクション

「Web」→「Webからダウンロードします」アクションを追加。

URL:ダウンロードするファイルのURL(ここでは手順②で取得したURLの変数を入れています。)
メソッド:GET
ファイル名:元のファイル名を維持します
宛先フォルダー:保存するフォルダー名

スクリーンショット 2021-09-15 204604

追記:まとめ

スクリーンショット 2021-09-15 202752

これで簡単に、Webページのファイルをダウンロードすることができます。

ただ、実はこの方法では私がダウンロードしたいファイルはダウンロードできませんでした。
もし他にもそのような方がいましたら、イケてない方法も試してみてください。


この記事が気に入ったらサポートをしてみませんか?