You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium调用get_downloadable_files()报错求解决方案

解决Selenium调用get_downloadable_files()报错的方案

1. 补全Chrome下载偏好设置

你当前的配置缺少几个关键参数,更新后的配置应该能解决下载权限问题:

options.add_argument("--disable-popup-blocking")
options.add_experimental_option("prefs", {
    "download.default_directory": r"/Users/abderrahim/Documents/cv_apec",
    "download.prompt_for_download": False,
    "download.directory_upgrade": True,
    "profile.default_content_settings.popups": 0,
    "safebrowsing.enabled": False,  # 关闭安全浏览拦截自动下载
    "profile.content_settings.exceptions.automatic_downloads.*.setting": 1  # 允许所有站点自动下载
})

注意:确保指定的下载目录已经存在,且你的用户账号有读写权限,否则浏览器会自动回退到默认下载路径。

2. 核对浏览器与驱动版本匹配

版本不兼容是配置失效的高频原因,确保你使用的ChromeDriver(或对应浏览器驱动)版本和本地安装的浏览器版本完全一致。比如浏览器是118.x版本,驱动也必须是118.x系列。

3. 确认驱动初始化时加载了配置

检查创建WebDriver实例的代码,必须把配置好的options参数传进去,否则所有偏好设置都不会生效:

driver = webdriver.Chrome(options=options)

4. 等待页面完全加载后再调用方法

在调用get_downloadable_files()前,添加显式等待确保页面下载相关元素加载完成,避免因页面未就绪导致的错误:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 替换为页面中实际存在的下载相关元素定位(比如下载按钮)
WebDriverWait(driver, 10).until(
    EC.presence_of_element_located(("css selector", "[download]"))
)

files = driver.get_downloadable_files()

内容的提问来源于stack exchange,提问作者Rahim Akhrouf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 23:52:32