如何在通过下载文件时摆脱这个keep/discard通知?
我试过以下几点,但没有成功:
chromeOptions = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chromeOptions.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=chromeOptions)编辑:似乎我已经发现了另一个网站有这样的".eml“文件,它会在点击该链接时抛出相同的通知,以.eml结尾。
我正在尝试以下方法:
from selenium import webdriver
url = "https://www.online-convert.com/file-format/eml"
dirf = r"C:\Users\WCS\Desktop\emlfolder"
def download_file(link):
driver.get(link)
driver.find_element_by_css_selector("a[href$='example.eml']").click()
if __name__ == '__main__':
chromeOptions = webdriver.ChromeOptions()
prefs = {'download.default_directory' : dirf}
chromeOptions.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=chromeOptions)
download_file(url)通知与下面的图像完全相同:

顺便说一句,我开始点击那个链接来下载只是因为我正在试验的站点没有任何真正的url连接到".eml“文件来导航。结果,导航到".eml“链接也会导致相同的通知。
发布于 2019-02-04 08:09:01
您需要指定要下载的文件扩展名。
prefs = {
'download.default_directory': dirf,
'download.prompt_for_download': False,
'download.extensions_to_open': 'eml',
'safebrowsing.enabled': False
}
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=options)发布于 2019-02-02 06:51:04
这是与安全浏览相关的弹出窗口。试一试
chromeOptions = webdriver.ChromeOptions()
prefs = {'safebrowsing.enabled': 'false'}
chromeOptions.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chromeOptions)发布于 2019-02-05 19:33:06
根据这个:如何禁用“这种类型的文件会损害您的计算机”弹出。,您将需要多个选项:
在最近更新Chrome之后,这个被接受的答案就失效了。现在您需要使用
--safebrowsing-disable-extension-blacklist和--safebrowsing-disable-download-protection命令行开关。
但是,每当谷歌的人对与某一选项相关的安全问题有新的想法时,他们就会在下一个版本的Chrome中修改这种行为。我正在使用Chrome 72和上面提到的选项不再禁用通知。
简短的版本:不要试图禁用安全措施。恶意软件的作者们都受过这样的训练,任何优秀的浏览器开发者似乎都认为“比抱歉更安全”。
如果您真的需要一个下载解决方案,您可以使用请求模块并下载而不需要铬:
from selenium import webdriver
import requests
url = "https://www.online-convert.com/file-format/eml"
dirf = r"C:\Users\WCS\Desktop\emlfolder"
def download_file(link):
driver.get(link)
linkElement = driver.find_element_by_css_selector("a[href$='example.eml']")
r = requests.get(linkElement.get_attribute('href'))
file = open("C:\Users\WCS\Desktop\emlfolder\example.eml", 'wb')
file.write(r.content)
file.close()
if __name__ == '__main__':
chromeOptions = webdriver.ChromeOptions()
prefs = {'download.default_directory' : dirf}
chromeOptions.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=chromeOptions)
download_file(url)
driver.quit()https://stackoverflow.com/questions/54490547
复制相似问题