ファイルのダウンロード
この記事では、WEBページからファイルをダウンロードする設定について紹介します。
【できるようになること】
- ワークフローでダウンロードしたファイルを取得
- ダウンロードしたファイルを繰り返し内部で取得
- ダウンロードがうまくいかない場合の対処
ダウンロードしたファイルは、以下のような形で利用可能です。
・各種ストレージに保存
・ログインが必要なサイトにアップロード
・CSVファイルの場合、ReadCSVで二次元配列として出力し、スプレッドシートに転記
・PDFやテキストファイルの場合、中身のテキストを出力
・画像ファイルの場合、OCRによる文字抽出や顔の表情検出
ファイルのダウンロード
AUTOROでファイルのダウンロードを行う場合は、おおよそ次のような手順で設定されます。
- ダウンロード要素をクリックするアクションのWaitForDownloadパラメータをONにする
- ダウンロード要素をクリックする
- GetDownloadFilesでダウンロードしたファイルを取得
以下より、手順を紹介します。
通常のClickアクションのパラメータのうち、WaitForDownloadをONにすると、クリック後にダウンロード完了を待つようになります。
- Clickを設定します。
- ダウンロードボタン等のHTML要素のCSSセレクタを設定します。
- WaitForDownloadパラメータをONにします。

ダウンロードされたファイルが1つの場合、GetDownloadFilesのアウトプットをそのまま利用できます。
例えばこのアウトプットをSaveFileのインプットに指定すると、ファイルが任意のストレージに保存されます。
複数のファイルをダウンロードした場合は、ダウンロードしたファイルからファイルを選択する必要があります。この方法は後段の「ループ中または複数ファイルのダウンロード」をご参照ください。
複数のファイルをダウンロードする場合
1つのワークフロー内で複数のファイルがダウンロードされた場合は、GetDownloadListのアウトプットには複数のファイルが格納されています。
複数のファイルが格納されている場合、GetDownloadListアクションのアウトプットをSaveFileアクションのファイルパラメータに指定すると、エラーになります。 これを回避するためには、ダウンロードされたファイルリストの中から、どのファイルを読み込むのかを選択する必要があります。
繰り返し中にダウンロードしたファイルを、ストレージに保存したりするような場合に、最もよく使用される方法です。
- GetDownloadFilesの設定を「降順(DESC)/ファイルの修正時刻順(CREATED)」に設定します。
- GetItemFromListアクションを設定します。
- 「リスト」には、GetDownloadFilesのアウトプットを指定します。
- 「インデックス」には、
0
を入力します。
この設定で、「最新のファイルがリストの一番上に表示→リストの一番上の要素を取得」という指定ができます。
- GetDownloadFilesの設定は、特に指定なし(お好みの設定)
- SearchItemFromListアクションを設定します。
- 「リスト」には、GetDownloadFilesのアウトプットを指定します。
- 「検索クエリ」には、ファイル名を設定します。(ワイルドカードの利用が可能です。)
この設定では、ファイル名が事前に推測できる場合(日付/IDが含まれるなど)に利用することができます。
ダウンロードに失敗していた時(一致するファイルが0件の時)は、後続の処理をスルーするなどの分岐を設定できるメリットがあります。
ファイルのダウンロードがうまくいかない場合
ファイルのダウンロードがうまくいかない場合は、まず最初に「GetDownloadFilesの実行結果にファイル名が表示されているか?」を確認します。
画像右のようにファイル名が表示されていない場合は、解決のために以下の点を確認していきます。
クリックに関連するアクションや、状況を確認します。
- WaitForDownloadパラメータがONになっているか確認
- セッションログでSelector not Foundとなっていないか確認
- CSSセレクタが正しいかを確認
- ダウンロードボタンのクリック直前のブラウザ系アクションログに、ダウンロードボタンが存在するページが表示されているかどうかを確認
- WaitForDownloadをONに指定/待機時間等検証済み
- ダウンロードするファイルのサイズはあまり大きくない
- CSSセレクタが正しいためにエラーやSelector Not Foundなどが表示されていない
- ダウンロードボタンの存在する画面が表示されている
上記を全て満たしているにもかかわらず、GetDownloadFilesに何も表示されていない場合があります。
この場合、ダウンロードボタンをもう一度クリックするアクションを設置すると、正常にダウンロードされる場合があります(サイトの構造による)。
【ここに入れる】