「ダウンロードファイルの動作テストをしたい!」
ってときに、うまくダウンロードできない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