python - (Selenium) 下载和重命名文件问题
问题描述
我selenium
用来登录一个页面,并下载一些 tiff 文件,现在我有一个变量downloadurl
,它包含我从网站上抓取的一组 url 链接。现在我正在使用以下代码下载文件:
driver = webdriver.Chrome();
driver.get(downloadurl)
我确实下载了所有文件但没有名称,例如。图像(1),图像(2)...
现在我的问题是:我想driver.get(downloadurl)
按照downloadurl
数组顺序一个一个下载文件,下载完文件后立即按照title
数组变量重命名,然后下载下一个文件,重命名...
PS我避免使用请求,因为登录过程非常复杂并且需要授权 cookie。
非常感谢您的帮助!
解决方案
详细说明我的评论:
import os
import time
for downloadlink, uniqueName in my_list_of_links_and_names:
driver = webdriver.Chrome();
driver.get(downloadurl)
time.sleep(5) # give it time to download (not sure if this is necessary)
# the file is now downloaded
os.rename("img(1).png", uniqueName) # the name is now changed
假设“img(1).png”将被重命名,然后下一次下载将再次以“img(1).png”的形式出现,这将起作用。
最难的部分是制作,my_list_of_links_and_names
但如果您将数据放在单独的列表中,zip()
请将它们放在一起。您还可以根据某些标准在每个循环中生成自己的标题...
推荐阅读
- android - 如何防止应用程序中的录音?
- node.js - SyntaxError: Unexpected token ... in serialport in node_modules
- javascript - Angular 2 应用程序在 Internet explore 中无法正常工作,但与其他浏览器配合良好
- node.js - 节点异步/等待不工作,需要实现回调
- java - 随机获取非 HTTP 响应代码:java.net.UnknownHostException 作为 Jmeter 中的采样器响应
- javascript - 如何使用 Laravel 在 DataTable 中添加列并从数据库返回值
- if-statement - 飞镖中是否有任何三元运算符仅用于单个 if 条件?
- java - Oracle 12C 数据库上 Sql Developer 工具的截断表命令不会从表中删除数据
- html - 如何在vue js v-for中单独折叠动态手风琴?
- java - 如何在 Google Cloud Compute Engine 中部署 Spring Boot 应用程序?