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
相关产品推荐
相关产品推荐

