一、问题
使用Python+selenium+Chrom做Web自动化下载.exe文件,点击下载后会出现如下提示:
需要进一步点击才能下载文件;
二、分析
selenium启动webdriver.ChromeOptions()使用默认配置,Chrome浏览器打开了安全检测;
三、解决方案
需要使用webdriver.ChromeOptions()这个方法更改配置;
1、此次使用的环境:
目录
Python3.9+selenium4.9+Chrome113.0.5672.93
2、实例:
# 导入 selenium
from selenium import webdriver
# 使用ChromOptions类
options = webdriver.ChromeOptions()
# prefs 参数是谷歌浏览器默认的参数是Josn文件,所以以字典形式传入
prefs = {'download.prompt_for_download': False, 'download.default_directory': 'E:\Download\Chrome','download.directory_upgrade': True,'safebrowsing.enabled': False}
# 将自己修改的参数prefs传入ChromeOptions
options.add_experimental_option("prefs", prefs)
# 使用修改后的Options启动Chrome浏览器
driver = webdriver.Chrome(options=options)
3、prefs参数说明:
'download.prompt_for_download': False/True 对应下载前询问每个文件的保存位置,False关闭,True打开;
'download.default_directory': 'E:\Download\Chrome' 对应下载到的位置;
'safebrowsing.enabled': True/False 忽略安全警告 True是打开忽略安全警告,False是关闭忽略安全警告;
'download.directory_upgrade':True/Fasle 将下载目录更新为新的路径 True为打开 False为关闭;