河曲智叟 发表于 2024-6-14 21:08:06

selenium 下载文件取消安全下载的设置

使用 selenium 下载碰见的问题

文件存在危险,因此 Chrome 已将其拦截
!(https://img-
blog.csdnimg.cn/img_convert/b08754a1b39bad554a6aedc3b6a0c787.png)
查找了许多设置文件都无法解决这个问题
经过多次测试,下面的参数设置可以解决这个问题
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 加速。
使用上述选项和参数,您应该能够成功下载文件。请注意,为确保下载成功,在代码中添加一个等待循环来检查文件是否已下载完成,并在下载完成后执行您的其他操作。
学习网络安全技术的方法无非三种:
第一种是报网络安全专业,现在叫网络空间安全专业,重要专业课程:步伐筹划、盘算机组成原理原理、数据结构、操作体系原理、数据库体系、 盘算机网络、人工智能、自然语言处理、社会盘算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。
第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不外这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉本身没有进步,容易劝退。
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里
页: [1]
查看完整版本: selenium 下载文件取消安全下载的设置