Selenium WebDriver、Firefoxを使ってWebページを自動で遷移して、PDFをダウンロードするっていうのを作りたかったんですが、実現できるまでに大変だったので設定方法を備忘録として書いておきます。
基本的にこのブログに全て書いてあるとおりです。
http://yizeng.me/2014/05/23/download-pdf-files-automatically-in-firefox-using-selenium-webdriver/
sample.rb
profile = Selenium::WebDriver::Firefox::Profile.new
profile["browser.download.folderList"] = 2
# 0:デスクトップ、1: システム規定のフォルダ、2:ユーザ定義フォルダ("browser.download.dir"で定義)
profile["browser.download.dir"] = 'C:\\'
# "browser.download.folderList"で2を指定した場合に保存されるフォルダ
profile["browser.helperApps.neverAsk.saveToDisk"] = 'application/pdf'
profile["pdfjs.disabled"] = true
# Firefoxがブラウザ内でPDFを開きにいこうとするので、それを無効化するのに必要
profile["plugin.scan.plid.all"] = false
profile["plugin.scan.Acrobat"] = "99.0"
# サードパーティのPDFソフトがPDFを開きにいってしまうので、それを無効化するのに必要
元記事の方に感謝。
Excelの場合は、上3の設定で問題なくダウンロードできていたけど、PDFをうまくダウンロードできなかった。
※Excelの場合は、'application/vnd.ms-excel"
PDFの場合は、下3つの設定が追加で必要なようです。