问题描述
我要从一个网站上下载文件,谷歌浏览器总是自动阻止下载,并询问我是否保留。
可是,我想要的是不要询问,默认下载即可。
运行环境
- OS: macOS
- selenium: 4.19.0
- python: 3.10.11
- Chrome: 124.0.6367.62
- selenium chromedriver: 123.0.6312.58
尝试无效方案
尝试selenium 下载文件取消安全下载的配置 博客中配置:
from undetected_chromedriver import Chrome, Options
options = Options()# 禁用下载保护,允许下载所有类型的内容
options.add_experimental_option("prefs",{"download_restrictions":0})
options.add_experimental_option("prefs",{"safebrowsing.enabled":False})# 配置文件下载路径
options.add_experimental_option("prefs",{"download.default_directory":"/path/to/download/directory","download.prompt_for_download":False,"download.directory_upgrade":True,"safebrowsing_for_trusted_sources_enabled":False,"safebrowsing.enabled":False})# 运行 Chrome,并隐藏窗口以在后台执行
options.add_argument("--headless")
options.add_argument("--disable-gpu")with Chrome(options=options)as browser:# 转到目标网页
browser.get("https://example.com/downloads/myfile.docx")# 找到下载链接并点击下载文件
download_link = browser.find_element_by_xpath("//a[@download]")
download_link.click()# 一旦下载开始,等待文件下载完成whilenotany(fname.endswith(".docx")for fname in os.listdir("/path/to/download/directory")):
time.sleep(1)print("Download completed!")
按照如上配置,无效,浏览器仍然有阻止行为。
解决方案
⚠️注意:必须设置selenium打开的浏览器哈!
将自己要打开的网站地址添加到这里即可。
版权归原作者 Liekkas Kono 所有, 如有侵权,请联系我们删除。