[英]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.