2013-12-08 71 views
2

我使用Selenium Webdriver + Firefox(25.0.1),在Python 2.7.6(Windows)中下载了大约20个文件(一个一个地从一个网站) ,但是在下载9-10个文件后,Firefox被阻止并且没有响应......每次都发生这种情况,对我来说真的很奇怪。 我该如何解决它?Selenium Webdriver和Firefox在下载几个CSV文件后崩溃

这里是我的测试代码:

import time 
from selenium import webdriver 

fx = webdriver.FirefoxProfile() 
fx.set_preference("browser.download.manager.showWhenStarting", False) 
fx.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/plain,text/csv,application/csv,application/octet-stream,text/comma-separated-values") 

browser = webdriver.Firefox(firefox_profile=fx) 

for i in range(20): 
    browser.get("http://pic.dhe.ibm.com/infocenter/tivihelp/v41r1/topic/com.ibm.ismsaas.doc/reference/AssetsImportCompleteSample.csv") 
    print i 
    time.sleep(1) 

UPDATE:

我试图与5个不同的网站,不同的文件类型和大小 - 总是相同的问题...

回答

4

我知道问题是什么 - 只是Firefox 25.0.1。在Firefox 24上,一切正常。

0

我们正在使用iMacros而不是Selenium,但我认为我们的解决方案可以在此重复使用:每次下载后重新启动Firefox,以避免Firefox内存泄漏。

+0

是的,这是解决方案,但我不能这样做,因为每次重新启动Firefox后,我都必须登录到网站,从中我想下载文件,并在登录过程中使用Sikuli - 这将花费大量的时间下载20个文件... – mchfrnc

+0

你可以使用firefox profile,用你已经登录的firefox profile启动一个驱动程序 – runcode

相关问题