在 Python 中使用 Selenium 下载 Chrome 无头文件

2023-12-11

在无头模式下,Chrome 默认禁止文件下载。

然而,最近他们在 DevTools 中添加了一个选项来启用此行为:

https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-setDownloadBehavior

在 Python 中使用 Selenium 和 ChromeDriver,如何允许文件下载?


这是添加对无头文件下载支持的 chromedriver 票证:https://bugs.chromium.org/p/chromedriver/issues/detail?id=1973

使用当前版本的 headless 时,文件下载被禁用 铬(#60)。版本 #62 添加了对启用下载的支持, 目前位于开发频道。需要 ChromeDriver 支持此功能 也有特点。

还参考了https://bugs.chromium.org/p/chromium/issues/detail?id=696481其中包含该问题的重现步骤:

Chrome 版本:Chromium 58.0.3023.0

哪些步骤将重现该问题? (1)设置无头模式 (--headless) 在命令行上 (2) 将 URL 指向可下载文件 (3) 什么都没发生

预期结果是什么?

当以无头模式启动并指向带有 可下载文件,文件应下载并保存在“下载”中 文件夹。

相反会发生什么?

什么也没有发生,文件没有被下载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 中使用 Selenium 下载 Chrome 无头文件 的相关文章

随机推荐

  • 在javafx 2.0中加载SVG文件

    我想在 javafx 2 0 中显示 svg 图像 但我在 API 中没有找到这样的东西 我想这是因为它仍处于测试阶段 在最终版本发布之前 如何加载 svg 是否已经有一个库可以处理这个问题 或者我是否需要自己解析文件 然后创建相应的形状
  • 在 Cypress 测试 Vue.js 应用程序期间禁用 Ag Grid 虚拟化

    如何在 Vue js 应用程序的 Cypress 测试期间禁用 Ag Grid 的虚拟化 由于 Ag 网格不会一次绘制所有内容 因此我必须模拟滚动来验证网格中的数据 网格行为等 这使得我的 Cypress Mocha 测试变得很麻烦 如果我
  • 从 cypress 写入 Svelte 可写存储值

    在 Svelte 应用程序中 我有一个布尔变量 import writable from svelte store export const authorised writable false 这将导入到 App svelte 和其他 sv
  • 重复一个字符N次

    有没有其他方法可以在php中打印40点 我心里有这个想法 但我认为这是错误的 也许有这样的方法 可以这样做吗 不使用循环 是的 使用str repeat功能 echo str repeat 40
  • 在绘图上绘制日期和时间

    我有几个数据集 我想用日期作为 X 轴 时间作为 Y 轴来绘制 我正在 Jupyter Notebook 中工作 from datetime import date time from plotly import offline as py
  • 当未找到搜索词时,在 R 中使用 -which() 会出现意外行为

    我一直用Rwhich函数从数据框中删除行 我最近发现 如果搜索词不在 data frame 中 则结果是空字符 1 returns A Q S Z as expected LETTERS which LETTERS R 2 returns
  • 如何在 Scala 中测试对象的私有方法

    我有一个示例对象 object Foo private def sayFoo Foo 我想测试私有 sayFoo 方法而不使用以下解决方法 1 没有定义为package private 2 不将其定义为 protected 并在测试类中继承
  • 给定一种颜色的十六进制,如何使该颜色变浅或变深? [复制]

    这个问题在这里已经有答案了 假设我有一个十六进制 例如 5fc9f8 是否有一个函数接受 黑暗级别 10 到 10 并返回反映该级别的十六进制值 我所说的黑暗是指在颜色中添加黑色 删除黑色 import UIKit extension St
  • lxml unicode实体解析问题

    我使用 lxml 来解析从另一个系统导出的 XML 文件 xmldoc open filename etree parse xmldoc 但我得到 lxml etree XMLSyntaxError 实体 eacute 未定义 第 4495
  • 什么是“对于(x:y)”?

    所以我在互联网上查找有关线程的内容 然后我找到了有关线程的博客 教程 但令我困惑的是他使用的这条线 for auto thread threads 不太确定那是做什么的这是我正在谈论的博客的链接LINK感谢为我回答这个问题的人PS你能给我一
  • 如何使用 jQuery 通过 Ajax 使用 Google 翻译?

    我在用Ajax通过 jQuery 我正在尝试使用谷歌翻译服务 该服务似乎不适合我 我究竟做错了什么 我将如何在我的网络应用程序中使用它 你可以这样做 ajax url https ajax googleapis com ajax servi
  • 如何从 main() 返回大于 8 位的数字?

    据我所知 退出代码从返回r0仅使用该寄存器的最低 8 位 如何返回高于 8 位的值 这是 ARMv7 代码 looping s calculates sum of integers from 1 to 100 text balign 4 g
  • Azure 间接对等互连

    假设我的对等互连设置如下 ABC 并且希望在 vnet A 和 C 之间路由流量 目前这可能吗 也许 B 中的 vnet 网关和 UDR 的使用 Thanks 目前来看 这是不可能的 VNet 对等互连位于两个虚拟网络之间 不存在派生的传递
  • Symfony2 身份验证“login_check”路径未找到

    我是 Symfony2 的新手 我正在尝试创建一个基本的注册 登录系统 因此 在 Symfony2 文档的帮助下 我创建了这个 security yml security encoders TestCompany InternetBundl
  • Angular 数据表中的自定义加载

    我试图在角度数据表中实现我的自定义加载 我检查了文档 https l lin github io angular datatables overrideLoadingTpl 建议实施 angular module showcase data
  • 从标准输入读取数组,忽略括号和逗号

    我的代码的示例输入是 1 2 3 4 我希望忽略大括号和逗号 并将数字读入数组 我怎样才能做到这一点 嗯 这可能有用 Ignore all characters up to and including the open curly brac
  • 如何在php中的echo中连接if语句? [复制]

    这个问题在这里已经有答案了 是否可以在 php 的 echo 中连接 if 语句 如何将一些基于条件的 html 附加到 echo 内的 html 类似如下 它会对你有所帮助 尝试这个
  • TLD 优先的类域标识符有何意义?

    TLD first 类域标识符 虽然拗口 但这就是我能想到的全部 多年来我在不同的地方看到过这些用法 并且想知道这个约定背后的历史 原因是什么 因为您可能会认为有一种真正的方式来提及域 我不使用 Java 但我通过探索发现命名空间通常是这样
  • 在xcode中添加不同的图像到不同的注释视图

    我试图将不同的图像添加到不同的注释视图中 换句话说 我想要一张独特的图片对应于每个独特的引脚 这是我正在尝试的 MKAnnotationView mapView MKMapView mapView viewForAnnotation id
  • 在 Python 中使用 Selenium 下载 Chrome 无头文件

    在无头模式下 Chrome 默认禁止文件下载 然而 最近他们在 DevTools 中添加了一个选项来启用此行为 https chromedevtools github io devtools protocol tot Page method