Linux/Ubuntu下Selenium Chrome实例无法修改默认下载目录问题
Chrome WebDriver 下载目录配置异常问题解决
问题场景
使用WebDriver配置Chrome时,设置了如下参数:
options.add_argument("--kiosk-printing") options.add_argument("--print-to-pdf") prefs = { "download.default_directory": download_path, "download.prompt_for_download": False, "download.directory_upgrade": True, "safebrowsing_for_trusted_sources_enabled": False, "safebrowsing.enabled": False} options.add_experimental_option('prefs', prefs)
其中download_path为已存在的本地目录,启动浏览器后在chrome://settings/downloads页面确认路径显示正确,但实际触发文件保存时,弹窗仍指向系统默认下载目录。手动将该Chrome实例的下载目录改为同一文件夹后,功能恢复正常。
原因分析
Chrome的设置中,download.default_directory仅用于在设置页面展示下载路径,并不实际控制文件的存储路径。手动修改下载目录时,Chrome会自动新增savefile.default_directory字段,这个字段才是真正控制下载文件存储位置的关键配置。
解决方案
在prefs配置中添加**savefile.default_directory**字段,值与download.default_directory保持一致即可。修改后的完整配置如下:
options.add_argument("--kiosk-printing") options.add_argument("--print-to-pdf") prefs = { "download.default_directory": download_path, "savefile.default_directory": download_path, # 新增控制实际存储路径的字段 "download.prompt_for_download": False, "download.directory_upgrade": True, "safebrowsing_for_trusted_sources_enabled": False, "safebrowsing.enabled": False} options.add_experimental_option('prefs', prefs)
内容的提问来源于stack exchange,提问作者Fresh
相关产品推荐
相关产品推荐

