Skip to main content
 首页 » 编程设计

python之如何在python中读取selenium webdriver下载的文件

2025年05月04日38kevingrace

我在 python 中使用 selenium 和 webdriver 从站点下载 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",'xx/yy') 
fp.set_preference('browser.helperApps.neverAsk.saveToDisk', "text/plain, application/vnd.ms-excel, text/csv, text/comma-separated-values, application/octet-stream") 
driver = webdriver.Firefox(fp) 
driver.get('url') 

我需要将此 csv 的内容打印到终端。许多具有随机名称的类似文件将被下载到同一文件夹中,因此无法通过文件名访问文件,因为我事先不知道它是什么

请您参考如下方法:

您可以从该位置获取最后下载的文件,然后读取该文件:

path = /path to folder 
list = os.listdir(path) 
time_sorted_list = sorted(list, key=os.path.getmtime) 
file_name = time_sorted_list[len(time_sorted_list)-1] 

然后你可以从这个文件中读取。希望不是多个文件通过并行进程到达那里。

编辑: 刚刚看到有多个实例可供下载的评论,因此您可以使用 urllib 并使用其 url 下载文件:

import urllib 
urllib.urlretrieve( "http://www.example.com/yourfile.ext", "your-file-name.ext") // you can provide unique-id to your file name