みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Selenium3のChromeDriverでpdfをダウンロードする

Chromeにはpdfを表示するための機能が搭載されており,ChromeDriverでpdfにアクセスしても表示するだけでダウンロードされない.いろいろな拡張機能を無効にすることで,pdfをダウンロードできるようにする.

環境: MacOS 10.12.4, ChromeDriver 2.29 (Chrome 58.0), Selenium 3

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = webdriver.ChromeOptions()
options.add_experimental_option("prefs", {
  "download.default_directory": 保存先,
  "download.prompt_for_download": False,
  "download.directory_upgrade": True,
  "plugins.plugins_disabled": ["Chrome PDF Viewer"],
  "plugins.always_open_pdf_externally": True
})
options.add_argument("--disable-extensions")
options.add_argument("--disable-print-preview")

driver = webdriver.Chrome(chrome_options=options)
driver.get("http://example.com/sample.pdf")

これでpdfを直接ダウンロードできるようになります.