Я предлагаю повторно использовать cookie-файл сессии после первого входа в другие экземпляры веб-драйвера.
Сначала сохраните куки:
var cookieValue = firstWebDriver.Manage().Cookies.GetCookieNamed(name:"cookie_name");
Затем вы можете передать его любому экземпляру WebDriver, настроить его и запустить веб-приложение, как если бы это был один и тот же пользователь с разными экземплярами браузера:
anotherWebDriver.Manage().Cookies.AddCookie(new Cookie(name:"cookie_name", value:cookieValue));
Если вы хотите использовать один и тот же экземпляр браузера, вы должны синхронизировать его, потому что вызовы WebDriver, как правило, не являются поточно-ориентированными и часто приводят к исключениям (например, устаревший из-за изменения элемента или notfound , поскольку один веб-драйвер перешел на другую страницу).
Тогда я предлагаю просто использовать дескриптор окна для следующего экземпляра, не заботясь о сеансе. Первый открывается, а последний закрывает сеанс (считайте ссылочные дескрипторы) и убедитесь, что только один драйвер использует этот дескриптор одновременно. Вы также можете создавать новые окна браузера, и это сохранит сеанс и даст вам новый дескриптор:
var handle = firstWebDriver.CurrentWindowHandle;
otherWebDriver.SwitchTo().Window(handle);
Я написал код на C #, но его легко адаптировать к JavaScript.