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を直接ダウンロードできるようになります.