Power Automate DesktopでWebページのファイルをダウンロードする方法(暫定版→一旦解決)
Power Automate DesktopでWebページのファイルのダウンロードがうまくいかずにはまったので備忘録です。
ちなみに、「暫定版」とあるようにイケてない内容です。
(2021.9.15追記)
ASAHI Accounting Robot研究所さんに情報をいただき方法が分かりました。
Webレコーダーでは要素が取れない
まずは、Webレコーダーでレコーディングをしましたが、ダウンロード画面でUI要素を取得できず断念。
「Webページのダウンロードリンクをクリックします」はエラー
「Webオートメーション」に「Webページのダウンロードリンクをクリックします」というアクションがあるのですが、こちらを使うと下記エラーが出てしまいます。(IEしか対応していないようです。)
Edgeのダウンロード設定を変えてみる
苦肉の策で、Microsoft Edgeのダウンロード設定を変更してみました。
・「ダウンロード時の動作を毎回確認する」をオフ
・「場所」のパスを覚えておく。(通常は「ダウンロード」フォルダ)
ダウンロードリンクをクリックすると、上記パスに保存されるような設定になりました。
「Webページのリンクをクリックします」アクションを使用
この設定にしておけば、単純に「Webページのリンクをクリックします」アクションのみでファイルがダウンロードされます。
(Webレコーダーでも可能)
ダウンロードしたファイルを使用したい場合は「Webページ上の要素の詳細を取得」
今回はダウンロードしたファイルを続けて使用したかったため、あらかじめ「Webページ上の要素の詳細を取得」でファイル名を取得しました。
保存されたフォルダ名とダウンロードしたファイル名(変数AttributeValue)が分かっているので、ダウンロードしたファイルを使用してフローを続けることが可能です。
ただし、この方法は表示されているテキストとダウンロードされたファイル名が一致する場合にしか使用できませんのでご注意ください。
(他の属性でファイル名が取れないか確認しましたが、ダメそうでした。)
まとめ
この内容はEdge側の設定を変更するというどちらかというと禁じ手になります。
きっともっと良い方法があるはずなので、良い方法が見つかったら追記します。
【フロー全体】
追記:手順①新しいMicrosoft Edgeを起動する
追記:手順②ダウンロードURLを取得する
「Webオートメーション」→「Webデータ抽出」→「Webページ上の要素の詳細を取得します」アクションを追加。
Webブラウザーインスタンス:ダウンロードリンクがはってあるページのURL
UI要素:ダウンロードボタンのUI要素
属性名:HRef
追記:手順③「Webからダウンロードします」アクション
「Web」→「Webからダウンロードします」アクションを追加。
URL:ダウンロードするファイルのURL(ここでは手順②で取得したURLの変数を入れています。)
メソッド:GET
ファイル名:元のファイル名を維持します
宛先フォルダー:保存するフォルダー名
追記:まとめ
これで簡単に、Webページのファイルをダウンロードすることができます。
ただ、実はこの方法では私がダウンロードしたいファイルはダウンロードできませんでした。
もし他にもそのような方がいましたら、イケてない方法も試してみてください。
この記事が気に入ったらサポートをしてみませんか?