python - 如何使用 python 和 selenium webdriver 更改下载位置
问题描述
我已经编写了代码来为每个区域和地方的每个月下载文件。但是,由于我无法通过 selenium 更改文件的名称,我希望将每个地方的文件下载到单独的文件夹中。这是我的代码
options = webdriver.ChromeOptions()
options.add_argument('download.default_directory=/Users/name/Downloads/' + p)
driver = webdriver.Chrome(chrome_options=options, executable_path="/Users/name/Downloads/chromedriver")
driver.get("https://jpwebsite.harriscountytx.gov/PublicExtracts/search.jsp")
wherep
是特定区域和地点的 ID。不幸的是,文件被下载到/Users/name/Downloads
. 我已将 chromedriver 添加到PATH
并刚刚使用
driver = webdriver.Chrome(chrome_options=options)
但这给了我这个:
[Errno 2] No such file or directory.
我究竟做错了什么?谢谢!
解决方案
您可以使用时间戳创建新目录。prompt_for_download
还使用带有和directory_upgrade
参数的 chrome 选项的首选项字典。试试下面的例子:
from selenium import webdriver
import time
timestr = time.strftime("%Y%m%d-%H%M%S")
options = webdriver.ChromeOptions()
prefs = {
"download.default_directory": r"C:\Users\XXXX\downdir\stamp"+timestr,
"download.prompt_for_download": False,
"download.directory_upgrade": True
}
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=options)
driver.get("https://jpwebsite.harriscountytx.gov/PublicExtracts/search.jsp")
推荐阅读
- docusignapi - 有没有人尝试将 docuSign 与 IBM i(又名 iSeries,AS400)一起使用?
- java - Feign 客户端 URL 格式错误
- python-3.x - 将 DataBricks 连接到 Azure Blob 存储
- mysql - 使用 mysql 数据库时无法启动 gophish
- typescript - NestJS如何在管道中访问抽象控制器中的存储库
- django - 创建用于添加测验问题的 Django Web 应用程序的逻辑
- arm - STM32F103C8 LED 闪烁
- angular - 如何在数组中显示来自多个复选框的数据?角应用
- javascript - Nodejs从HTTP请求中丢失数据
- javafx - JavaFX Tab 将进度指示器设置为标题