Selenium WebDriver перегружает память
Мне нужно открывать вкладки и собирать данные и закрывать вкладки. Около 600 вкладок.
Проблема, что драйвер Chrome перегружает память с каждой новой вкладкой. Даже если закрывать с помощью driver.close() используемая память почти не уменьшается. driver.quit() прервёт сессию, поэтому не использую. Перегруз Chrome в диспетчере задач отслеживал, проблема не в собранных данных, а именно в открытии новых вкладок.
Почему используется память даже после закрытия вкладок и как с этим бороться?
P. S. Сайт и код просто для примера открывает и закрывает вкладки
from selenium import webdriver
import time
driver = webdriver.Chrome()
url = 'https://edition.cnn.com/'
driver.get(url)
for i in range(25):
time.sleep(0.5)
driver.execute_script("window.open();")
driver.switch_to.window(driver.window_handles[-1])
driver.get(url)
driver.close()
driver.switch_to.window(driver.window_handles[0])
Ответы (1 шт):
запустите вручную chromedriver
> ./chromedriver Starting ChromeDriver 111.0.5563.64
> (c710e93d5b63b7095afe8c2c17df34408078439d-refs/branch-heads/5563@{#995})
> on port 9515 Only local connections are allowed.
и делайте коннекты к нему через remotewebdriver
driver = new RemoteWebDriver(new URL("127.0.0.1:9515"));
у меня под сотню-две выдерживал один такой драйвер, неделями.