【发布时间】:2013-05-17 00:22:26
【问题描述】:
我正在使用phantomjs --webdriver 8910 在远程 WebDriver 模式下运行 phantomjs,然后使用 Selenium python 绑定获取许多页面,例如:
wd = webdriver.PhantomJS(port=8910)
for url in big_url_list:
wd.get(url)
# do something here, e.g. wd.save_screenshot or print wd.page_source
wd.quit()
wd.quit() 似乎什么也没做。用top监控进程可以看出,随着检索到的页面越来越多,phantomjs进程的内存使用量不断增加。如果我重新启动 phantomjs 进程,那么内存使用率会下降并再次开始稳定攀升。
close method mentioned in the phantomjs docs 听起来很有希望,但我看不出有任何方法可以通过 WebDriver protocol 调用它。
是否有 (i) 一种方法可以在发出许多请求时降低 phantomjs 的内存使用率,或者 (ii) 一种可靠的方法来监控并定期重新启动 phantomjs 进程以使内存永远不会失控?
【问题讨论】:
标签: python selenium-webdriver phantomjs