使用 selenium 下载碰见的问题
文件存在危险,因此 Chrome 已将其拦截

查找了许多设置文件都无法解决这个问题
经过多次测试,下面的参数设置可以解决这个问题
selenium 下载文件取消安全下载的设置
如果想要下载文件,可以添加以下设置来设置
- from undetected_chromedriver import Chrome, Options
- options = Options()
- # 禁用下载保护,允许下载所有类型的内容
- options.add_experimental_option("prefs", { "download_restrictions": 0 })
- options.add_experimental_option("prefs", { "safebrowsing.enabled": False })
- # 配置文件下载路径
- options.add_experimental_option("prefs", {
- "download.default_directory": "/path/to/download/directory",
- "download.prompt_for_download": False,
- "download.directory_upgrade": True,
- "safebrowsing_for_trusted_sources_enabled": False,
- "safebrowsing.enabled": False
- })
- # 运行 Chrome,并隐藏窗口以在后台执行
- options.add_argument("--headless")
- options.add_argument("--disable-gpu")
- with Chrome(options=options) as browser:
- # 转到目标网页
- browser.get("https://example.com/downloads/myfile.docx")
- # 找到下载链接并点击下载文件
- download_link = browser.find_element_by_xpath("//a[@download]")
- download_link.click()
- # 一旦下载开始,等待文件下载完成
- while not any(fname.endswith(".docx") for fname in os.listdir("/path/to/download/directory")):
- time.sleep(1)
- print("Download completed!")
复制代码 在上述代码中,我们使用 add_experimental_option() 方法设置了以下设置:
- download_restrictions: 禁用下载保护,允许下载所有类型的内容。
- download.default_directory: 指定文件下载路径。
- download.prompt_for_download: 禁用下载提示对话框(直接开始下载)。
- download.directory_upgrade: 启用目次升级,以确保文件下载到指定的文件夹。
- safebrowsing_for_trusted_sources_enabled: 禁用针对受信任泉源的安全欣赏。
- safebrowsing.enabled: 禁用安全欣赏,允许下载被 Chrome 辨以为不安全的文件。
在运行 Chrome 时,我们添加了以下参数:
- --headless: 启用无头模式,隐藏 Chrome 窗口以在后台执行。
- --disable-gpu: 禁用 GPU 加速。
使用上述选项和参数,您应该能够成功下载文件。请注意,为确保下载成功,在代码中添加一个等待循环来检查文件是否已下载完成,并在下载完成后执行您的其他操作。
学习网络安全技术的方法无非三种:
第一种是报网络安全专业,现在叫网络空间安全专业,重要专业课程:步伐筹划、盘算机组成原理原理、数据结构、操作体系原理、数据库体系、 盘算机网络、人工智能、自然语言处理、社会盘算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。
第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不外这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉本身没有进步,容易劝退。
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里 |