如上,使用selenium进行文件下载的时候,总是会提示是否要保留。“此类型的文件可能会损害您的计算机。您仍然要保留XXX吗?”,想要取消Chrome下载文件的这个提示,不进行提示直接保留文件进行下载,应该怎么做呢?

Chrome浏览器版本为:版本 83.0.4103.61(正式版本) (64 位)

在网上找了一两个小时,发现其解决办法差不多都是如下代码块的,就算有细微差异也大体类似,然后将他们都试了一遍,结果还是不行。但也知道大体思路就是这样的,只是不知道哪个地方不对劲。

options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\'}
options.add_experimental_option('prefs', prefs)

driver = webdriver.Chrome(executable_path='F:chromedriverchromedriver.exe', chrome_options=options)

 

直到我找到了这位博主的博客,根据他的分享才解决了这个问题,具体解决办法见如下代码,亲测的确有效。

该博主的文档链接如下:https://blog.csdn.net/weixin_41812940/article/details/82423892

    options = webdriver.ChromeOptions()
    prefs = {'download.prompt_for_download': False, 'download.default_directory': r'C:\Users\Any\Downloads',}
    options.add_experimental_option("prefs", prefs)
    driver = webdriver.Chrome(chrome_options=options)
    driver.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
    params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': r"C:\Users\Any\Downloads"}}
    driver.execute("send_command", params)

修改完了上述的设置以后,就可以继续你的其他操作了

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐