当前位置: 首页 > news >正文

解决selenium使用chrome下载文件(如pdf)时,反而打开浏览器的预览界面

文章目录

  • 解决方法
  • 完整的配置

解决方法

在初始化浏览器的时候,添加以下配置即可:

    option = webdriver.ChromeOptions()prefs = {"profile.managed_default_content_settings.images": 2,  # 禁止加载图片# 'permissions.default.stylesheet': 2,  # 禁止加载css# ====== 配置下载 ====='profile.default_content_settings.popups': 0,  # 取消下载确认弹窗# 默认下载路径'download.default_directory': r"C:\Users\User4\Downloads", # 这个是自定义的下载路径"profile.default_content_setting_values.automatic_downloads": 1,  # 允许多文件下载"download.prompt_for_download": False,  # To auto download the file"download.directory_upgrade": True,"plugins.always_open_pdf_externally": True}option.add_experimental_option("prefs", prefs)browser = webdriver.Chrome(options=option)

完整的配置

使用如下程序初始化,可以避免很多问题:

from selenium import webdriver
def get_browser():option = webdriver.ChromeOptions()option.add_argument('--disable-gpu')option.add_argument('lang=zh_CN.UTF-8')# option.add_argument('headless')  # 无界面prefs = {"profile.managed_default_content_settings.images": 2,  # 禁止加载图片# 'permissions.default.stylesheet': 2,  # 禁止加载css# ====== 配置下载 ====='profile.default_content_settings.popups': 0,  # 取消下载确认弹窗# 默认下载路径'download.default_directory': r"C:\Users\User4\Downloads","profile.default_content_setting_values.automatic_downloads": 1,  # 允许多文件下载"download.prompt_for_download": False,  # To auto download the file"download.directory_upgrade": True,"plugins.always_open_pdf_externally": True}option.add_experimental_option("prefs", prefs)browser = webdriver.Chrome(options=option)browser.implicitly_wait(10)  # 等待元素最多10sbrowser.set_page_load_timeout(10)  # 页面10秒后强制中断加载return browser

在需要下载文件时,只需要直接browser.get(网络文件URL)即可直接下载文件到配置的"C:\Users\User4\Downloads"路径下:

    browser = get_browser()browser.get("http://xxxx/xxx.pdf") # 这里会直接下载

相关文章:

解决selenium使用chrome下载文件(如pdf)时,反而打开浏览器的预览界面

文章目录 解决方法完整的配置 解决方法 在初始化浏览器的时候,添加以下配置即可: option webdriver.ChromeOptions()prefs {"profile.managed_default_content_settings.images": 2, # 禁止加载图片# permissions.default.stylesheet: 2, …...

2024年山东省职业院校技能大赛中职组“网络安全”赛项竞赛试题-C

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-C 一、竞赛时间 总计:360分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A、B模块 A-1 登录安全加固 180分钟 200分 A-2 本地安全策略设置 A-3 流量完整性保护 A-4 …...

基于Python实现用于实时监控和分析 MySQL 服务器的性能指标和相关信息工具源码

MySQL命令行监控工具 - mysqlstat 介绍 mysqlstat 是一个命令行工具,用于实时监控和分析 MySQL 服务器的性能指标和相关信息。 它可以帮助 DBA(数据库管理员)和开发人员定位和解决数据库性能问题。 以下是 mysqlstat 工具的主要功能&#…...

Android 10-13鼠标右键返回功能适配

Android 10-13鼠标右键返回功能适配 文章目录 Android 10-13鼠标右键返回功能适配一、前言二、鼠标右键适配修改1、Android 10 以及更低版本2、Android11 或者更高版本三、总结1、鼠标右键返回功能修改主要代码2、标右键返回修改代码系统源码搜索3、其他 一、前言 Android 原生…...

51单片机/STM32F103/STM32F407学习1_点亮LED灯

目录: 基础知识单片机从0实现单片机GPIO介绍 参考连接: 野火霸天虎教程 https://doc.embedfire.com/products/link/zh/latest/mcu/stm32/ebf_stm32f407_batianhu_v1_v2/download/stm32f407_batianhu_v1_v2.html x.1 基础知识 x.1.1 指针中的取地址&a…...

(Transfer Learning)迁移学习在IMDB上训练情感分析模型

1. 背景 有些场景下,开始的时候数据量很小,如果我们用一个几千条数据训练一个全新的深度机器学习的文本分类模型,效果不会很好。这个时候你有两种选择,1.用传统的机器学习训练,2.利用迁移学习在一个预训练的模型上训练…...

蓝桥杯每日一题2023.11.20

题目描述 “蓝桥杯”练习系统 (lanqiao.cn) 题目分析 方法一&#xff1a;暴力枚举&#xff0c;如果说数字不在正确的位置上也就意味着这个数必须要改变&#xff0c;进行改变记录即可 #include<bits/stdc.h> using namespace std; const int N 2e5 10; int n, a[N], …...

【迅搜02】究竟什么是搜索引擎?正式介绍XunSearch

究竟什么是搜索引擎&#xff1f;正式介绍XunSearch 啥&#xff1f;还要单独讲一下啥是搜索引擎&#xff1f;不就是百度、Google嘛&#xff0c;这玩意天天用&#xff0c;还轮的到你来说&#xff1f; 额&#xff0c;好吧&#xff0c;虽然大家天天都在用&#xff0c;但是我发现&am…...

【Sql】sql server还原数据库的时候,提示:因为数据库正在使用,所以无法获得对数据库的独占访问权。

【问题描述】 sql server 还数据库的时候&#xff0c;提示失败。 点击左下角进度位置&#xff0c;可以得到详细信息&#xff1a; 因为数据库正在使用&#xff0c;所以无法获得对数据库的独占访问权。 【解决方法】 针对数据库先后执行下述语句&#xff0c;获得独占访问权后&a…...

【Go语言实战】(26) 分布式搜索引擎

Tangseng 基于Go语言的搜索引擎 github地址&#xff1a;https://github.com/CocaineCong/tangseng 详细介绍地址&#xff1a;https://cocainecong.github.io/tangseng 这两周我也抽空录成视频发到B站的&#xff5e; 本来应该10月份就要发了&#xff0c;结果一鸽就鸽到现在hh…...

【理解ARM架构】不同方式点灯 | ARM架构简介 | 常见汇编指令 | C与汇编

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《理解ARM架构》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 目录 &#x1f3c0;直接操作寄存器点亮LED灯&#x1f3c0;地址空间&#x1f3c0;ARM内部的寄存…...

JS服务端技术—Node.js知识点锦集

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/134544523 出自【进步*于辰的博客】 接触Node.js挺长时间了&#xff0c;工作也经常使用&#xf…...

界面控件DevExpress WPF流程图组件,完美复制Visio UI!(一)

DevExpress WPF Diagram&#xff08;流程图&#xff09;控件帮助用户完美复制Microsoft Visio UI&#xff0c;并将信息丰富且组织良好的图表、流程图和组织图轻松合并到您的下一个WPF项目中。 P.S&#xff1a;DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至…...

为什么选择B+树作为数据库索引结构?

背景 首先&#xff0c;来谈谈B树。为什么要使用B树&#xff1f;我们需要明白以下两个事实&#xff1a; 【事实1】 不同容量的存储器&#xff0c;访问速度差异悬殊。以磁盘和内存为例&#xff0c;访问磁盘的时间大概是ms级的&#xff0c;访问内存的时间大概是ns级的。有个形象…...

什么是神经网络(Neural Network,NN)

1 定义 神经网络是一种模拟人类大脑工作方式的计算模型&#xff0c;它是深度学习和机器学习领域的基础。神经网络由大量的节点&#xff08;或称为“神经元”&#xff09;组成&#xff0c;这些节点在网络中相互连接&#xff0c;可以处理复杂的数据输入&#xff0c;执行各种任务…...

15 Go的并发

概述 在上一节的内容中&#xff0c;我们介绍了Go的类型转换&#xff0c;包括&#xff1a;断言类型转换、显式类型转换、隐式类型转换、strconv包等。在本节中&#xff0c;我们将介绍Go的并发。Go语言以其强大的并发模型而闻名&#xff0c;其并发特性主要通过以下几个元素来实现…...

管理体系标准

管理体系标准 什么是管理体系&#xff1f; 管理体系是组织管理其业务的相互关联部分以实现其目标的方式。这些目标可能涉及许多不同的主题&#xff0c;包括产品或服务质量、运营效率、环境绩效、工作场所的健康和安全等等。 系统的复杂程度取决于每个组织的具体情况。对于某…...

【Java 进阶篇】揭秘 Jackson:Java 对象转 JSON 注解的魔法

嗨&#xff0c;亲爱的同学们&#xff01;欢迎来到这篇关于 Jackson JSON 解析器中 Java 对象转 JSON 注解的详细解析指南。JSON&#xff08;JavaScript Object Notation&#xff09;是一种常用于数据交换的轻量级数据格式&#xff0c;而 Jackson 作为一款优秀的 JSON 解析库&am…...

②【Hash】Redis常用数据类型:Hash [使用手册]

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ Redis Hash ②Redis Hash 操作命令汇总1. hset…...

十七、SpringAMQP

目录 一、SpringAMQP的介绍&#xff1a; 二、利用SpringAMQP实现HelloWorld中的基础消息队列功能 1、因为publisher和consumer服务都需要amqp依赖&#xff0c;因此这里把依赖直接放到父工程mq-demo中 2、编写yml文件 3、编写测试类&#xff0c;并进行测试 三、在consumer…...

性能提升52%!实测蜂鸟E203 NICE协处理器如何加速你的算法

蜂鸟E203 NICE协处理器实战&#xff1a;如何通过硬件加速实现算法性能飞跃 在嵌入式开发领域&#xff0c;性能优化永远是一个绕不开的话题。当我们面对实时性要求严苛的应用场景时&#xff0c;传统的软件优化手段往往捉襟见肘。这时&#xff0c;硬件加速方案就成为了突破性能瓶…...

别再以为蓝牙绝对安全了:用Kali Linux的hciconfig和hcitool,我发现了邻居的汽车OBD接口

蓝牙安全探秘&#xff1a;从日常设备到汽车OBD的潜在风险 1. 蓝牙技术的安全现状与普遍认知误区 蓝牙技术已经渗透到我们生活的方方面面&#xff0c;从无线耳机到智能家居&#xff0c;再到汽车电子系统。然而&#xff0c;大多数用户对蓝牙安全性的认知仍停留在"配对即安全…...

通过 Taotoken CLI 工具一键配置团队开发环境中的多模型访问密钥

通过 Taotoken CLI 工具一键配置团队开发环境中的多模型访问密钥 在团队协作开发中&#xff0c;统一管理大模型 API 访问密钥和端点配置是一项基础但繁琐的工作。新成员加入时&#xff0c;往往需要手动复制密钥、修改环境变量或配置文件&#xff0c;过程容易出错且效率低下。T…...

别再手动写Prompt了!用LangChain的Prompt Templates和Output Parsers,5分钟搞定结构化数据提取

LangChain实战&#xff1a;5分钟用Prompt模板和输出解析器实现结构化数据提取 在当今AI驱动的开发环境中&#xff0c;处理非结构化文本并从中提取有价值信息已成为开发者日常工作的核心挑战。传统方法需要手动编写复杂的正则表达式或繁琐的字符串处理逻辑&#xff0c;而LangCh…...

FPGA网络通信避坑指南:从CRC32校验到GMII接口,我的ARP协议调试血泪史

FPGA网络通信实战&#xff1a;从CRC校验到GMII接口的深度解析 在FPGA网络通信开发中&#xff0c;ARP协议实现是工程师必须掌握的核心技能之一。本文将深入探讨三个关键环节&#xff1a;CRC32校验的生成与验证、GMII接口的时序同步机制&#xff0c;以及ARP状态机的设计要点。通过…...

OpenClaw 2.6.6 调用 Ollama 本地模型详细步骤

OpenClaw 2.6.6 连接 Ollama 本地模型教程 前置准备 已安装并正常打开 OpenClaw 2.6.6 Windows 版本OpenClaw 顶部 Gateway 状态保持在线电脑可正常联网&#xff0c;能访问 Ollama 官网电脑磁盘空间充足&#xff0c;本地模型占用空间较大提前确认需下载的模型名称&#xff08…...

别再死记硬背了!用Python手把手实现Pareto前沿的三种经典算法(附代码对比)

用Python实战解析Pareto前沿&#xff1a;三大算法代码实现与性能对比 在资源分配、参数调优等实际场景中&#xff0c;我们常面临多个相互冲突的目标需要同时优化。传统单目标优化方法难以应对这种复杂需求&#xff0c;而Pareto最优解集理论为我们提供了科学框架。本文将用Pyth…...

GanttProject终极指南:免费开源项目管理工具完整教程

GanttProject终极指南&#xff1a;免费开源项目管理工具完整教程 【免费下载链接】ganttproject Official GanttProject repository. 项目地址: https://gitcode.com/gh_mirrors/ga/ganttproject GanttProject是一款功能强大的免费开源项目管理软件&#xff0c;专注于甘…...

别再手动拖拽了!用Python脚本批量旋转平移CATIA装配体,效率提升10倍

用Python解放双手&#xff1a;CATIA装配体位姿批量调整实战指南 在机械设计领域&#xff0c;CATIA作为行业标杆软件&#xff0c;其装配体操作一直是工程师日常工作的核心环节。但当你面对数百个需要统一调整位置的零部件时&#xff0c;是否也曾被重复的拖拽、旋转操作折磨到怀疑…...

容器化应用部署全解析:从镜像逆向到生产环境实践

1. 项目概述&#xff1a;从“vpm”镜像看容器化应用部署的通用范式最近在梳理一些容器镜像仓库时&#xff0c;看到了一个名为getinstachip/vpm的镜像。这个镜像名本身没有附带冗长的描述&#xff0c;但恰恰是这种“简洁”&#xff0c;让我觉得有必要深入聊聊。在容器化技术普及…...