Selenium 4如何设置默认下载目录?版本升级后的代码适配
在Selenium 4中设置Chrome默认下载目录
你的原有代码逻辑在Selenium 4中依然有效,只是存在一处语法错误(download.default_directory行末尾缺少逗号),修正后即可正常使用。以下是两种可行的实现方案:
方案1:基于ChromeOptions实验性偏好设置(兼容Selenium 3写法)
修正语法错误后的完整代码:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_experimental_option('prefs', { "download.default_directory": "/home/blah", # 补充缺失的逗号 "download.prompt_for_download": False, "download.directory_upgrade": True, "plugins.always_open_pdf_externally": True }) driver = webdriver.Chrome(options=options)
方案2:使用Selenium 4原生CDP方法(推荐)
Selenium 4支持直接调用Chrome DevTools Protocol(CDP)来配置下载行为,无需依赖实验性选项,稳定性更强,还能在运行时动态修改:
from selenium import webdriver driver = webdriver.Chrome() # 通过CDP设置下载目录 driver.execute_cdp_cmd("Page.setDownloadBehavior", { "behavior": "allow", "downloadPath": "/home/blah" })
两种方案对比:
- 方案1和Selenium 3代码风格一致,适合迁移阶段快速适配;
- 方案2是Selenium 4原生特性,避免了实验性选项的潜在兼容性问题,更推荐长期使用。
内容的提问来源于stack exchange,提问作者Anon Li
相关产品推荐
相关产品推荐

