SeleniumのChrome driverを使ってWebスクレイピングを行うときのデフォルトのダウンロードフォルダを設定する方法です。
from selenium import webdriver
chromeOptions = webdriver.ChromeOptions()
prefs = {"download.default_directory" : "C:\Users\\{username}\\Downloads\\test"}
chromeOptions.add_experimental_option("prefs",prefs)
#Chrome diriverのパス
chromedriver = "/tools/chromedriver_win32/chromedriver.exe"
driver = webdriver.Chrome(executable_path=chromedriver, chrome_options=chromeOptions)
##注意点
download.default_directory
にパスを設定するときは階層の区切り文字を \\
とするか、文字列の前にRAWの意味の r
または R
をつけて記述します。
例:r"C:\Users\{username}\Downloads\test"
階層区切りを\\
としたときは、サンプルコードのようにドライブのルート階層の文字は区切り文字を1つにしないとうまくいきません。例:"C:\"
一方、chromedriverのパスはスラッシュ(/
)区切りとし、webdriverをインスタンス化するときにexecutable_path
とchrome_options
を引数として渡します。
chromedriverのパスを環境変数で設定してある場合でも、chrome_options
を指定するときにはexecutable_path
が必要になるようです。
##確認
実行してChromeが立ち上がったときに右上ボタンの[Google Chromeの設定] > [設定] > [詳細設定を表示]から『ダウンロード保存先:』で指定したダウンロードフォルダが設定されているかを確認することができます。