近几天使用了Selenium模拟打开Firefox浏览器获取网页数据,因为需要打开多个网页所以采用的是for循环的方式,随着程序的运行时间越来越久,发现内存占用越来越多。
打开资源管理器,发现存在多个Firefox浏览器,这也为内存占用越来越多找到了原因。
笔者接下来通过对Selenium的相关参数设置和调整,以求达到优化代码,减少占用内存的目标。通过相关的文档查阅,无非是 driver.close() 或者是driver.quit()等的调整。发现收效甚微。
突然之间,笔者一拍脑袋,发现自己走了歪路,落入怪圈了。其实完全可以跳出必须使用Selenium的思维惯性。例如可以使用urllib软件包来完成。
page=str(urllib.request.urlopen(fileUrl).read())
基本上通过这一句话就可以获得网页源代码。
当然,如果是需要使用用户名和密码进行自动登录之类的高端操作,建议还是使用selenium。这需要根据实际需求来决定。