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

DrissionPage下载文件

在DrissionPage中,下载时直接重命名文件可通过以下两种方式实现:

方法一:动态修改下载路径(推荐)

在点击下载按钮前,将download_path设置为包含目标文件名的完整路径:

# 动态生成目标文件名(示例)
new_filename = f"{product_name}_{download_time}.pdf"
target_path = os.path.join(EPD_FILE_PATH, new_filename)# 设置下载路径(包含文件名)
page.set.download_path(target_path)  # 关键修改# 点击下载按钮
pdf_btn.click()
mission = page.wait.download_begin()
mission.wait(show=True)print(f'文件已保存为:{mission.final_path}')

方法二:下载后重命名(备选)

若无法在下载时指定文件名,可下载后立即重命名:

import os
import time# 保持原有下载逻辑
page.set.download_path(EPD_FILE_PATH)
pdf_btn.click()
mission = page.wait.download_begin()
mission.wait(show=True)# 获取原始文件名并重命名
original_path = mission.final_path
timestamp = time.strftime("%Y%m%d_%H%M%S")
new_filename = f"报告_{timestamp}.pdf"
new_path = os.path.join(EPD_FILE_PATH, new_filename)os.rename(original_path, new_path)
print(f'文件已重命名为:{new_path}')

关键说明:

  1. 推荐方法一:通过修改download_path为完整路径(含文件名),浏览器会直接使用该文件名保存,无需后续重命名操作
  2. 文件命名建议:使用动态生成的文件名(如包含时间戳/产品ID),避免重复
  3. 路径处理:确保目标路径的目录存在,否则需先创建目录
  4. 权限检查:确保程序有目标路径的写入权限

⚠️ 注意:如果服务器端强制指定了文件名(通过Content-Disposition头),方法一可能失效。此时需使用方法二,或通过浏览器开发者工具分析下载请求的响应头,确认是否可自定义文件名。

http://www.dtcms.com/a/486873.html

相关文章:

  • 观澜做网站公司百度seo网站在线诊断
  • 电子商务网站建设题目男女直接做网站
  • 前端 Web 开发工具全流程指南,打造高效开发与调试体系
  • html网站中文模板下载seo营销型网站
  • 【编号220】中国国内生产总值历史数据汇编1952-2021合订本(PDF扫描版)
  • 百度多久收录一次网站北京企业网站建设飞沐
  • 特斯拉前AI总监开源的一款“小型本地版ChatGPT”,普通家用电脑就能运行!
  • 鸿蒙:创建公共事件、订阅公共事件和退订公共事件
  • 鸿蒙NEXT Function Flow Runtime开发指南:掌握下一代并发编程
  • 遥控器外壳设计网站推荐哈尔滨建设信息网官网
  • 哈夫曼树 红黑树 B树 B+树 WTF!M3?(树形查找)
  • 【Linux内核】DMABUF 与文件描述符(fd)的绑定过程
  • AngularJS 模型
  • 网页设计与网站建设毕业设计成全看免费观看
  • MySQL数据库操作全指南(一)
  • 【项目】年会抽奖系统
  • 烟台建站程序如何用电脑主机做网站
  • Spring Boot 统一异常处理机制:设计原理与最佳实践
  • 【jenkins】构建安卓
  • Spring Boot 集成 SpringDoc OpenAPI(Swagger)实战:从配置到接口文档落地
  • 基于目标信息最大化的高分辨率雷达波形设计——论文阅读
  • 网站建设毕业答辩ppt模板顶尖网站建设
  • MCP传输模式选择指南:Stdio与HTTP的终极对比
  • 网站建设实习招聘wordpress 问卷调查
  • 效果图制作网站有哪些医院网站制作公司
  • MySQL 连接类型介绍
  • 网站开发编程入门学习网站设计要考虑的因素
  • sk09.【scikit-learn基础】--『无监督学习』之K均值聚类
  • 网站建设对于企业的意义wordpress上传网页
  • OFD转PDF技术方案:快速实现一键批量转换