使用selenium python下载csv文件并将其删除

时间:2015-11-26 07:31:21

标签: python selenium

是否可以使用selenium python下载csv文件然后删除它或只是临时下载文件?

这是我用来下载csv文件的代码

fp = webdriver.FirefoxProfile()

fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir", os.getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/csv,text/csv,application/pdfss, text/csv, application/excel")

fp.set_preference("pdfjs.disabled", True)

browser = webdriver.Firefox(firefox_profile=fp)

2 个答案:

答案 0 :(得分:1)

您可以提及文件的路径,并使用os.remove()删除/删除文件。

编辑:如果您想获取已下载文件的名称(我不认为selenium已添加此功能),您可以尝试检查目录中的差异使用os.listdir()下载文件之前和之后列出。

import os

before = os.listdir('/home/jason/Downloads')

# Download the file using Selenium here

after = os.listdir('/home/jason/Downloads')
change = set(after) - set(before)
if len(change) == 1:
    file_name = change.pop() #file name stored as string
else:
    print "More than one file or no file downloaded"

答案 1 :(得分:0)

我添加了一行代码,以下解决方案正常运行

import os

before = os.listdir('/home/jason/Downloads')

# Download the file using Selenium here

after = os.listdir('/home/jason/Downloads')
change = set(after) - set(before)
if len(change) == 1:
    file_name = change.pop() #file name stored as string
    os.remove(file_name) 
else:
    print "More than one file or no file downloaded"