写在前面的话
我们的描述,运用都是基于Ubuntu 的运行环境
Chrome : Version 77.0.3865.90 (Official Build) (64-bit)
OS : Ubuntu 18.04
python : 2.7, 3.4+
selenium : 3.141.0
场景描述
当我们用Selenium 爬虫来下载文件的时候,这个时候需要对Chrome 进行一些额外的设置,保证用Chrome来浏览下载文件的时候,不会提示我们 保留(Keep)或者抛弃(Discard),也就是自动保存。
一般Chrome默认的下载,如果他认为这是一个比较危险的文件,这个时候可能需要询问用户是不是保留或者删除。一般需要用户自己点击,我们现在要完成的事情就是让它不询问我们,然后自动下载保存到我们想要保存的目录下面即可。
from selenium import webdriver
download_dir = "/pathToDownloadDir"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
preferences = {"download.default_directory": download_dir ,
"directory_upgrade": True,
"safebrowsing.enabled": True }
chrome_options.add_experimental_option("prefs", preferences)
try:
driver = webdriver.Chrome(chrome_options=chrome_options,\
executable_path=r'/pathTo/chromedriver')
except:
continue
driver.get("urlFileToDownload");
说明: “safebrowsing.enabled”: True参数。增加了这个参数。就不会弹出保存与放弃的提示;
Reference
https://blog.csdn.net/weixin_30296405/article/details/99854704