【发布时间】:2013-08-07 23:43:36
【问题描述】:
我正在使用 Selenium webdriver(在 Python 中)来自动下载数千个文件。我希望将文件保存在不同的文件夹中。以下代码有效,但需要多次退出并重新启动 webdriver,这会减慢进程:
some_list = ["item1", "item2", "item3"] # over 300 items on the actual code
for item in some_list:
download_folder = "/Users/myusername/Desktop/" + item
os.makedirs(download_folder)
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.dir", download_folder)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/plain")
browser = webdriver.Firefox(firefox_profile = fp)
# a bunch of code that accesses the site and downloads the files
browser.close()
browser.quit()
因此,在每次迭代中,我都必须退出 webdriver 并重新启动它,这非常低效。有一个更好的方法吗?显然,在 webdriver 实例化后我们无法更改 Firefox 配置文件(请参阅 this 和 this 以前的问题),但也许我缺少一些替代方案?
(Mac OS X 10.6.8、Python 2.7.5、Selenium 2.2.0)
【问题讨论】:
-
使用普通的旧 Java 移动文件是否可行?
-
嗯,我没试过——我是编程新手,我只知道一些 Python。
标签: python python-2.7 selenium-webdriver