今回は、Power Automate Desktop(PAD)を使って、Webサイト上のファイルをダウンロードする方法について解説します。
【STEP1】新しいChromeを起動する
「アクション」から「新しいChromeを起動する」を以下のようにドラッグアンドドロップします。
すると、以下のようなダイアログが表示されますので、「初期URL」に開きたいサイトのURLを入力します。
【STEP2】Webページのリンクをクリック
次に、「Webページのリンクをクリック」をフローに追加します。
上のようなダイアログが表示されますので、「UI要素」のボタンを押して、「UI要素の追加」を押下します。
UI要素ピッカーが表示されますので、取得したいファイル上でCtrl+左クリックします。
【STEP3】保存先・ファイル名の指定
保存先・ファイル名の指定をします。
保存先の指定
STEP1・STEP2で設定したフローでは、Webページ上のファイルURLをクリックしているためダウンロードしたファイルはGoogle Chromeで設定されている場所(デフォルトはダウンロードフォルダ)に保存されます。
そのため、指定した場所にファイルをダウンロードしたい場合は、一度ダウンロードしたあとにファイルを移動させることになります。
変数の設定
「変数の設定」をフローに追加します。
ダウンロードするファイルのフルパスを指定します。一度手動でファイルをダウンロードして、そのフルパスを取得すると良いかと思います。
フルパスはShiftキーを押しながら右クリック>パスのコピーで取得できます。
ファイルの移動
「ファイルの移動」をフローに追加します。
ファイル名の変更
「ファイルの名前を変更する」をフローに追加します。
「名前を変更するファイル」に%MovedFiles%を設定します。
また、今回はファイル名の末尾に日時を追加したいため、「名前の変更の方法」に「日時を追加する」を設定します。
【STEP4】ブラウザを閉じる
最後にブラウザを閉じます。(この処理を追加しないとフロー実行後にChromeのウインドウが残ってしまいます)
「Webブラウザーを閉じる」をフローに追加します。
中身の変更は必要ありません。
これで完成です。
PDFをダウンロードする場合
PDFをダウンロードしようとすると、別タブで遷移してしまいます。また、遷移先のダウンロードボタンはUI要素取得では取得できませんでした。
そのため、PDFのダウンロード時には直接座標を指定してクリックする必要があります。
これについての詳細は、需要がありそうだったら別途詳しく解説しようと思います。
まとめ
今回は、Webページ上のファイルをダウンロードする方法について解説しました。
ファイルをダウンロードして、指定のフォルダに保存できるのは便利ですよね。定期的にデータを収集したり、スクレイピング時に最新のファイルを取得するといった様々な目的で活用できそうです。
PDFファイルのように別タブで開く場合は少し工夫が必要になりますが、クリックしてダウンロードできるファイルであれば今回紹介した方法で対応可能かと思います。もし、「うまくダウンロードできない」「こういった画面のダウンロードはどうやるの?」等疑問がありましたら、お気軽に問い合わせorコメントいただければと思います。
なお、Seleniumを使ったファイルダウンロード方法については、以下記事をご参照ください。
コメント
特定のWEBブラウザからPDFファイルをダウンロードしたいのですが、うまくいきません。
①PDFファイルは、ファイル名をクリック⇒ダウンロードOKをするか、ファイル名横のチェックボックスに☑を入れて一括ダウンロードする方式。
②PDFは一日に複数回アップロードされるので、前回ダウンロード済みのPDF以降のPDFを全てダウンロードしたい。
③ダウンロード先は自分のPCのダウンロードフォルダになっているので、それを共通フォルダへ移動させたい。
①は1回ならうまくいくのですが、2回目以降ダウンロードできなくなってしまいます。
この場合の効果的なフローはどのように作成すればよろしいでしょうか。
お手数をお掛けしますが、よろしくお願い致します。
コメントありがとうございます。
返信が遅くなりまして、申し訳ございません。
2点ほど、質問させていただきます。
1.現在は、ダウンロードする部分はどのようなフローになっていますでしょうか?
2.1回目ダウンロードできて、2回目以降できないというのは、何かエラーが出てダウンロードできないのか、
ダウンロード済のもの以外をダウンロードすることがうまくできていないのか、
物理的にボタンを押せなくなっているのか、どのような状況なのか教えていただけますと幸いです。
以上、よろしくお願いいたします。