Я использую Селен Java для очистки веб-страниц, в основном приложение создает WebDriver и использую его все время для всех требуемых страниц (каждые 1 или 2 секунды он будет получать () вызовите новую страницу и извлеките связанный контент).
Я использую режим Firefox без головы , подобный этому:
String driverPath = this.config.getString("browser.firefox.driverPath");
FirefoxBinary firefoxBinary = new FirefoxBinary();
if (useHeadlessMode) {
firefoxBinary.addCommandLineOptions("--headless");
}
System.setProperty("webdriver.gecko.driver", driverPath);
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setBinary(firefoxBinary);
webDriver = new FirefoxDriver(firefoxOptions);
Я понялчто если приложение работает в течение 2 часов, оно использует до 8 ГБ памяти, а вызов get () становится чрезвычайно медленным (это может занять около ~ 10 секунд).
Мой вопросчто мне не хватает при настройке WebDriver ?Или любое другое решение для поддержания низкого уровня использования памяти, поскольку я планирую запустить несколько (~ 100 WebDrivers) после развертывания приложения в облаке.
Решение, которое я рассматриваю, заключается в том, что для определенногоколичество операций, выполните driver.quit () для текущего драйвера и инициализируйте новый.Это звучит разумно?