[英]Selenium loop script using too much ram, eventually crashing Chrome
我有一个非常大的 URL 列表,我正在尝试抓取,我正在使用 for 循环遍历每个 URL。
最终,在列表的 x 元素中,我的 Chrome 窗口将崩溃('Aw Snap!' 错误出现在浏览器窗口中)。 我不知道解决这个问题。
我不能分享我的代码,但是是这样的:
very_large_url_list = [url1, url2, url3, url4...]
for x in very_large_url_list:
driver.get(x)
doStuff()
如果我尝试在每次迭代时关闭驱动程序,如下所示:
for x in very_large_url_list:
driver.get(x)
doStuff()
driver.close()
我会收到一条错误消息,指出会话 ID 无效。 如果我不关闭它,那么最终会发生内存泄漏,我将无法完成对列表的迭代。 我能做些什么来解决这个问题?
如果我不够清楚,请告诉我,以便我可以编辑问题!
如果您尝试在每次迭代时关闭驱动程序,您不应该这样做吗?
for x in very_large_url_list:
driver = webdriver.Chrome()
driver.get(x)
doStuff()
driver.close()
您知道我们也可以不使用任何浏览器打开 URL 吗? 这也是经常被问到的面试问题。 让我们学习它。
让我们先执行一些步骤:
window.location='https://www.redbus.in'
并按 Enter 键。您会注意到 redbus 网站已加载。
这是在不使用任何方法(如get()
或navigate()
的情况下加载 URL 的方式。 上面的语句被称为 JavaScript 命令。 我们稍后会看到 JavaScript 的概念。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.