Selenium проверяет использование памяти IE11 - PullRequest
0 голосов
/ 19 июня 2020

Как я могу проверить, сколько памяти используется процессом IE11, который связан с данным InternetExplorerDriver в Selenium?

Я хотел бы перезапустить IE11, если его использование памяти превышает определенное значение ( например 1 ГБ).

Прямо сейчас я думаю об использовании Получить PID браузера, запущенного селеном (если применимо к C#), а затем Получение оперативной памяти процесса использование .

Будет ли это правильный подход?

enter image description here

Изменить: получается Получить PID браузера запускаемый селеном работает только для Firefox или Chrome.

Ответы [ 2 ]

0 голосов
/ 22 июня 2020

В итоге я прибег к обходному пути. Я перезапускаю IE11, если есть любой процесс iexplore.exe, рабочий набор которого превышает 800 МБ.

foreach (Process proc in Process.GetProcessesByName("iexplore"))
{
    // Check if IE is above 800 MB.
    if (proc.WorkingSet64 > 800*1024*1024)
    {
        driver.Close();
        driver.Quit();
        foreach (Process p in Process.GetProcessesByName("iexplore")) { try { p.Kill(); } catch { } }
        foreach (Process p in Process.GetProcessesByName("IEDriverServer")) { try { p.Kill(); } catch { } }
        driver = new InternetExplorerDriver(options);
        break;
    }
}
0 голосов
/ 22 июня 2020

Я не нашел решения по этому поводу и думаю, что мы не сможем этого добиться, используя селен. Selenium не отслеживает использование ресурсов, это просто способ имитации действий пользователя. Я думаю, вам следует попробовать другие способы проверить использование памяти браузера или проверить другое поведение в селене. Например, вы можете использовать команду Windows tasklist, чтобы узнать использование памяти браузером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...