【发布时间】:2016-04-26 06:52:51
【问题描述】:
我在 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')
我需要 print 将此 csv 的内容发送到终端。许多具有随机名称的类似文件将被下载到同一个文件夹中,因此通过文件名访问文件将不起作用,因为我不知道它会提前是什么
【问题讨论】:
-
你不能用selenium打开和读取csv文件,你需要使用文件阅读器库。
-
你能发布html吗?也许你可以从那里提取文件名
-
文件名不在 html 中的任何位置。对不起,它的敏感信息,所以我不能发布它。不过我已经彻底检查过了。我有一种感觉,我可能必须使用文件库读取文件,但我仍然需要正确的文件名。有没有办法在 driver.get() 中查看文件名,或者有没有办法从屏幕响应中打印文件内容?
-
Autoit 提供windows界面,包括文件资源管理器。也许您可以使用它按日期获取文件(例如上次下载),但我不确定。
-
我必须在 ubuntu 服务器上运行它,并且将有几个(1000 +)此代码实例同时运行,因此按日期获取文件是不可靠的
标签: python selenium selenium-webdriver web-scraping webdriver