selenium 下载文件取消安全下载的方法

问题描述

我要从一个网站上下载文件,谷歌浏览器总是自动阻止下载,并询问我是否保留。
可是,我想要的是不要询问,默认下载即可。

运行环境
  • OS: macOS
  • selenium: 4.19.0
  • python: 3.10.11
  • Chrome: 124.0.6367.62
  • selenium chromedriver: 123.0.6312.58
尝试无效方案

尝试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!")

按照如上配置,无效,浏览器仍然有阻止行为。

解决方案

⚠️注意:必须设置selenium打开的浏览器哈!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将自己要打开的网站地址添加到这里即可。
在这里插入图片描述

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值