我试图在Selenium for Python中为Chrome Web Driver设置自定义下载目录,然后再检索它。我像这样设置下载目录,并且已经可以使用了:
chrome_options = webdriver.ChromeOptions()
prefs = {"download.default_directory": r"D:\menu\spam"}
chrome_options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)
但是,稍后我需要检索此下载位置,并且希望动态地执行此操作,而不必在其间传递整个代码。有办法吗?我假设自定义下载位置存储在driver
对象中的某个位置。但是,我还找不到它。
我实际上已经尝试逐步执行它,发现该位置最初存储在以下变量中:
driver.capabilities["goog:chromeOptions"]["prefs"]["download.default_directory"]
但是,在驱动程序初始化的某个时刻,driver.capabilities["goog:chromeOptions"]
中的值将被覆盖,并且其中唯一剩下的键是"debuggerAddress"
。
有人知道为什么会这样吗?有人可以在需要时从驱动程序对象中提取自定义下载目录吗?
另一种选择是在我需要它之前设置自定义下载目录,但是正如我所说,webdriver的初始化要早于此,而据我所知,没有办法更改选项在运行时,现在在那里吗?