Seleniumでファイルのダウンロード先を指定する(Chrome編)

「ダウンロードファイルの動作テストをしたい!」

ってときに、うまくダウンロードできないor保存先がおかしいっていうのはSeleniumの登竜門。

ChromeOptionsにて解決いたす!

スポンサーリンク

ソースコード

import os
from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_experimental_option("prefs", {
    "download.default_directory":os.getcwd()+"\\download1", #ダウンロード先のフォルダ
    "plugins.always_open_pdf_externally": True              #PDFをブラウザのビューワーで開かせない
})

#ブラウザ起動
driver = webdriver.Chrome(executable_path=os.getcwd() + "\\webdriver\\chromedriver.exe",options=options)

#IPAから「Web Application Firewall 読本」のPDFをダウンロードする
driver.get("https://www.ipa.go.jp/security/vuln/waf.html")
driver.find_element_by_xpath('//*[@id="ipar_main"]/div/div/div[3]/table/tbody/tr/td[2]/ul[1]/li/a').click()

サンプルコードは最近勉強している情報処理安全確保支援士の午後2講評から、「お前らこれ読んどけ!」薦められていたWAF読本をダウンロードしてみます。

ダウンロード先のフォルダ

"download.default_directory":os.getcwd()+"\\download1", #ダウンロード先のフォルダ

「download.default_directory」でダウンロード先のフォルダを指定。

指定しなかった場合のダウンロード先は「chrome://settings/downloads」で確認可能。

指定すると保存先が指定パスに書き換わる。

PDFをブラウザのビューワーで開かせない

"plugins.always_open_pdf_externally": True

PDFをダウンロードしたいときにブラウザがビューアーで表示されてしまう場合は、「plugins.always_open_pdf_externally」をTrueにしておけばOK

スポンサーリンク
おすすめの記事