0


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

使用 selenium 下载碰见的问题

文件存在危险,因此 Chrome 已将其拦截
image-20230516143423990
查找了很多配置文件都无法解决这个问题
经过多次测试,下面的参数配置可以解决这个问题

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()# 一旦下载开始,等待文件下载完成whilenotany(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 加速。

使用上述选项和参数,您应该能够成功下载文件。请注意,为确保下载成功,在代码中添加一个等待循环来检查文件是否已下载完成,并在下载完成后执行您的其他操作。

标签: selenium 安全 chrome

本文转载自: https://blog.csdn.net/weixin_44611400/article/details/130708427
版权归原作者 Follow丿 所有, 如有侵权,请联系我们删除。

“selenium 下载文件取消安全下载的配置”的评论:

还没有评论