我正在尝试使用Selenium网络驱动程序来自动化一些工作。我的自动化包括从网上下载一些其他人附加的.msg outlook电子邮件文件。下载.msg文件时,Chrome发出警告,称"这种类型的文件可能会危害计算机…"。使用ChromeOptions添加参数--安全浏览禁用下载保护不起作用,下载仍然提示将参数添加到Chrome选项中的警告,如有任何帮助,我们将不胜感激。
代码试用:
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--safebrowsing-disable-download-protection')
driver = webdriver.Chrome(chrome_options=chrome_options)
打印chrome_options.arguments
表明'--safebrowsing-disable-download-protection'
已添加到参数中,但当我开始使用Selenium下载.msg文件时,我仍然收到相同的警告。
需要注意的是,当我使用"--safebrowing disable download protection"通过cmd手动运行chrome.exe时,下载时不会发出警告。
根据您的代码试用,当您试图通过ChromeOptions()
实现--safebrowsing-disable-download-protection
时,但值得一提的是以下几点:
- 根据删除kSbDisableDownloadProtection标志以使下载安全浏览保护成为默认行为
--safebrowsing-disable-download-protection
应该被清除为命令标志以使下载安全浏览防护成为默认行为 - 该修复程序依赖于用Pver4替换安全浏览数据库和更新协议,该协议被标记为已修复,因为自全面启动以来没有任何问题报告
- 随后删除kSbDisableDownloadProtection标志以使下载安全浏览保护成为默认行为也被标记为已修复
- 修复程序为桌面平台默认启用PVer4确定了ChromeOption
--safebrowsing-disable-download-protection
不再有效的事实
结论
根据上述要点,ChromeOption--safebrowsing-disable-download-protection
不再是一个有效的ChromeOption,对于桌面平台,默认情况下应由PVer4处理。
你可以试试这个:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("prefs", {
"download.default_directory": r"C:Usersdownloads",
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": False
})
driver = webdriver.Chrome(chrome_options=chrome_options)
这应该能在中工作
driver = webdriver.Chrome(chromeDriver, options=options)
params = {'behavior' : 'allow', 'downloadPath':r"C:Usersdownloads"}
driver.execute_cdp_cmd('Page.setDownloadBehavior', params)