selenium自动下载文件到指定目录

本文参考:https://www.cnblogs.com/huxiaofeng1029/p/17383726.html

有时候,我们需要在网页中点击某些按钮,将文件下载到本地,而浏览器会默认将文件下载到默认的“下载”文件夹,如果我们需要将文件下载到我们指定的地方,那么就需要添加一些配置:本文以下载python最新版为例:

import time
import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
# 下面这些是为了获取chrome的配置信息,可选择自己需要的进行添加
profile = 'Default'
executable_path = ''
options = Options()
options.add_argument('--start-maximized') # 无头模式
# self.options.add_argument('--headless')
# self.options.add_argument('--disable-gpu')
options.add_argument('--load-extension=C:\\Users\\Admin\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\lnbmbgocenenhhhdojdielgnmeflbnfb\\4.5.3_0')
options.add_argument(r'--user-data-dir=C:\Users\Admin\AppData\Local\Google\Chrome\User Data\Default')
options.add_argument(f'--profile-directory={profile}') # 下面是为下载文件到指定目录所需的配置
download_dir = os.getcwd() + '\\data\\sellerSprite'
if not os.path.exists(download_dir):
os.makedirs(download_dir)
prefs = {
'profile.default_content_settings.popups': 0,
"download.default_directory": download_dir, # 设置默认下载目录
"download.prompt_for_download": False, # 取消下载时的询问
"download.directory_upgrade": True, # 支持目录升级
"safebrowsing.enabled": True # 禁用安全浏览功能
} options.add_experimental_option("prefs", prefs) driver = webdriver.Chrome(options=options) # 打开python官网
driver.get('https://www.python.org/downloads/')
time.sleep(5) # 找到下载按钮 点击下载
driver.find_element(By.XPATH, '//*[@id="touchnav-wrapper"]/header/div/div[2]/div/div[2]/p/a').click()
time.sleep(15)
driver.quit()

使用selenium下载文件--设置下载文件自动保存文件夹的更多相关文章

  1. VSCode自动保存文件设置

    很多时候敲了一大堆代码,结果手贱或者电脑没电或者电脑突然崩溃,如果没有保存,只能说GG.好在VSCode有自动保存代码的功能,而且有好几种自动保存的模式选择,设置方法如下: 进入">文 ...

  2. selenium 下载文件设置下载路径

    Chrome 文件下载 Chrome浏览器类似,设置其options: download.default_directory:设置下载路径 profile.default_content_settin ...

  3. VIM如何自动保存文件、自动重加载文件、自动刷新显示文件

    1.手动重加载文件的命令是:e! 2.一劳永逸的方法是:vim提供了自动加载的选项 autoread,默认关闭. 在vimrc中添加 set autoread即可打开自动加载选项,相关选项: :hel ...

  4. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  5. C#用openfiledialog文件和savefileDialog打开和保存文件

    一 打开文件 Stream myStream = null; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog ...

  6. #用openfiledialog文件和savefileDialog打开和保存文件

    一.打开文件 Stream myStream = null;            OpenFileDialog openFileDialog1 = new OpenFileDialog();     ...

  7. Windows下设置U盘自动复制文件到本地

    一.打开记事本,把下面的代码复制进去 set fso=createobject("scripting.filesystemobject") set ws=createobject( ...

  8. 解决phpstorm ftp自动保存文件问题

    初次使用phpstorm, 1.配置ftp时,远程文件要用/ftp用户名/文件夹名: 2.由于版本管理的原因(猜测),直接从本地原有文件修改时各种办法都无法上传,结果从服务器上下载一份再修改,解决这个 ...

  9. python——在文件存放路径下自动创建文件夹!

    1.a.py文件存放的路径下为(D:\Auto\eclipse\workspace\Testhtml\Test) 2.通过os.getcwd()获取的路径为:D:\Auto\eclipse\works ...

  10. java文件上传,自动判断文件类型

    public enum FileType { /** * JEPG. */ JPEG("FFD8FF"), /** * PNG. */ PNG("89504E47&quo ...

随机推荐

  1. 【JavaWeb】【Cookie】通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆

    通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆 Cookie类的构造方法 public Cookie(java.lang.String name,java.lang.String ) 1 ...

  2. 【MyBatis】学习笔记12:通过级联属性赋值解决多对一的映射关系

    [Mybatis]学习笔记01:连接数据库,实现增删改 [Mybatis]学习笔记02:实现简单的查 [MyBatis]学习笔记03:配置文件进一步解读(非常重要) [MyBatis]学习笔记04:配 ...

  3. set -euxo pipefail

    有些开发人员会用Bash来实现很复杂的功能,就像使用别的高级语言一样.他可能觉得自己很牛逼但其他人早就想锤爆他了,Bash的可读性和可维护性远远低于任何高级语言.更要命的是,Bash并没有方便的调试工 ...

  4. CSV文件处理工具-CsvUtil

    介绍 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本). Hutool针对此格式,参考 ...

  5. Qt编写物联网管理平台41-自动清理早期数据

    一.前言 随着时间的增加,存储的历史记录也在不断增加,如果设备数量很多,存储间隔很短,不用多久,数据库中的记录就非常多,至少是百万级别起步,而且有些用户还是需要存储每一次的采集的数据,这数据量别说一年 ...

  6. 国产系统UOS上的视频监控系统

    一.功能特点 (一)软件模块 视频监控模块,各种停靠小窗体子模块,包括设备列表.图文警情.窗口信息.云台控制.预置位.巡航设置.设备控制.悬浮地图.网页浏览等. 视频回放模块,包括本地回放.远程回放. ...

  7. 即时通讯技术文集(第42期):直播技术合集(Part2) [共13篇]

    为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第42 期. [-1-] 实时音频的混音在视频直播中的技术原理和实践总结 [链接] http:/ ...

  8. OpenMMLab AI实战营 第三课笔记

    OpenMMLab AI实战营 第三课笔记 目录 OpenMMLab AI实战营 第三课笔记 进入 mmclassification 目录 导入工具包 下载数据集 数据集目录结构 下载 config ...

  9. 芯片半导体基础(二) :20世纪最伟大的发明,PN结与晶体二极管

    liwen01 2025.01.12 前言 PN结 是晶体管的基础,它使得晶体管能够作为一个放大或是开关元器件.晶体管的发明不仅是一个技术上的突破,也标志着电子学的一个新时代.它极大地推动了科技和社会 ...

  10. 分圆多项式(cyclotomic polynomial)

    最近论文中经常遇到分圆多项式,现在系统的学习一下! 本原单位根 之前介绍n次单位根,现在详细学习一下n次本原单位根(n-th primitive unit root) 一个复数是n次单位根,当且仅当具 ...