Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

各pcのusernameに合わせてChromeのダウンロード先を変更したい。

実現したいこと

getpass.getuser()で取得した各pcのユーザー名を変数(user)をchromeのダウンロード保存先パスに結合させ、chromeの保存先として設定したい。
C:\Users\user\Downloads\変更保存フォルダ

試したコード

from selenium import webdriver
import getpass

user = getpass.getuser()

chromeOptions = webdriver.ChromeOptions()
prefs = {"download.default_directory" : r"C:\Users\\" + user + "\Downloads\\変更保存フォルダ"}
chromeOptions.add_experimental_option("prefs",prefs)
chromedriver = "C:/webdriver/chromedriver.exe"
driver = webdriver.Chrome(executable_path=chromedriver, options=chromeOptions)

帰ってきた結果

chromeのダウンロード保存先には、
C:\Users\user\Downloads\変更保存フォルダ
に変更されており、保存フォルダに保存されない。

教えてほしいこと

C:\Users\userの\を一つ減らしてC:\Users\userとできる方法を教えてください。

0

1Answer

下記はどうでしょうか。

prefs = {"download.default_directory" : "C:\\Users\\" + user + "\\Downloads\\変更保存フォルダ"}
1Like

Comments

  1. @takaekokaz

    Questioner

    ありがとうございます。
    希望通りダウンロード先を設定できました。
    先の質問で参考にさせていただいたhttps://qiita.com/hikoalpha/items/fa8330391823aea2fbca
    には、
    「download.default_directoryにパスを設定するときは階層の区切り文字を \\ とするか、文字列の前にRAWの意味の r または R をつけて記述します。ex( r"C:\Users\{username}\Downloads\test" )
    このときドライブのルート階層の文字は区切り文字を1つex( C:\ )にしないとうまくいきません。」
    とあり、rを先頭につけて、
    r"C:\Users\" + user + "\Downloads\変更保存フォルダ"}
    と記述すると、
    SyntaxError: unexpected character after line continuation charactor
    とエラーが出てきましたので、混乱していました。

Your answer might help someone💌