当前位置: 首页 > 面试题库 >

重命名下载的文件selenium

陆海阳
2023-03-14
问题内容

我正在使用Selenium从此页面自动下载csv格式的文件:

https://catalog.data.gov/dataset?tags=crime

这是我正在使用的代码:

profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.dir", '/home/luis/Desktop/data/')
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv")

driver = webdriver.Firefox(firefox_profile=profile)
driver.get(url)
time.sleep(2)
download_button = driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[2]/section[1]/div[2]/ul/li[14]/div/ul/li[1]/a')
download_button.click()

此处设置了下载文件夹:

profile.set_preference("browser.download.dir", '/home/luis/Desktop/data/')

如何选择保存文件的名称?可以在下载时定义名称吗?

我的意思是这样的:

For name in names:
    download_button = driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[2]/section[1]/div[2]/ul/li[14]/div/ul/li[{}]/a'.format(name))
    download_button.click()
    save_file_as(name)

问题答案:

您无法控制通过selenium命名的下载文件

您可以使用目录观察者/观察者来检测文件何时下载,然后相应地重命名。请参阅此答案,其中包含更多后续细节。



 类似资料:
  • 我正在尝试重命名一个与multer上传的图像文件的请求参数。 下面是我的代码: 它的工作很好,但我想知道它是否存在一些更干净和更容易与multer重命名功能。 它已经尝试过这样的事情: 但它不起作用,因为req尚未填充(未定义)。 我使用httpie使用以下命令测试我的代码: 有没有可能使用multer的重命名功能来做我用FS做的事情?还是有更好的办法? 谢谢你的反馈。 托玛斯 编辑 使用Disk

  • 问题内容: 我看到您可以设置通过Webdriver将文件下载到的位置,如下所示: 但是,我想知道下载文件时是否有类似的方式为文件命名?最好不要与配置文件相关联,因为我将通过一个浏览器实例下载约6000个文件,并且不想为每次下载都重新启动驱动程序。 编辑:选择的答案所建议的代码解决方案。下载完每个文件后,重命名该文件。 问题答案: 我不知道是否有一个纯Selenium处理程序,但是当我需要对下载的文

  • 文件重命名 文件重命名 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * *//* * 程序清单:更改名称 * * 程序会创建一个操作文件的函数并导出到msh命令列表 * 在

  • 问题内容: 是否可以获取通过HttpURLConnection下载的文件的名称? 在上面的示例中,我无法从URL中提取文件名,但是服务器会以某种方式向我发送文件名。 问题答案: 您可以使用HttpURLConnection.getHeaderField(String name) 获取标头,该标头通常用于设置文件名: 正如其他答案指出的那样,服务器可能返回无效的文件名,但是您可以尝试使用它。

  • 我试图开发一个程序,这是检索一组文件从一个SFTP服务器到另一个本地目录。 下载完成后,我们用他的真实文件名重命名文件(服务器SFTP的文件名)

  • 在我的项目中,我正在上传一个文件。上传时,我将其原始文件名和扩展名保存在数据库中,并将该文件与一些一起保存在服务器上,生成的GUID也与文件名和扩展名一起存储在数据库中。 比如-- -用于上载的文件名为Questions.docx -则orignalFileName将为“问题” -文件扩展名将为“.docx” -上传文件,文件名为“0C1B96D3-AF54-40D1-814D-B863B7528