Обход oAuth2 в EdgeDriver для Selenium с использованием сеансовых файлов cookie - PullRequest
0 голосов
/ 06 марта 2020

Я использую Edge Driver для доступа к защищенному ресурсу, для которого требуется oAuth2 с 2FA. Я читал, что можно использовать куки, чтобы установить браузер в «аутентифицированное состояние». Вот что я попробовал:

 OutlookProperties.cookiejar = edgeDriver.Manage().Cookies;

Это успешно хранит куки: ASP .NET_SessionId, ARRAffinity, .As pNet .Cookies, ai_user, ai_session, uvts.

Когда я пытаюсь добавить эти файлы cookie:

                    EdgeDriver edgeDriver = new EdgeDriver(edgeOptions);
                    edgeDriver.Manage().Window.Size = new Size(800, 800);
                    if (OutlookProperties.cookiejar != null)
                    {

                        edgeDriver.Manage().Cookies.AddCookie(OutlookProperties.cookiejar.GetCookieNamed("ASP.NET_SessionId"));
                        edgeDriver.Manage().Cookies.AddCookie(OutlookProperties.cookiejar.GetCookieNamed("ARRAffinity"));
                        edgeDriver.Manage().Cookies.AddCookie(OutlookProperties.cookiejar.GetCookieNamed(".AspNet.Cookies"));
                        edgeDriver.Manage().Cookies.AddCookie(OutlookProperties.cookiejar.GetCookieNamed("ai_user"));
                        edgeDriver.Manage().Cookies.AddCookie(OutlookProperties.cookiejar.GetCookieNamed("ai_session"));
                        edgeDriver.Manage().Cookies.AddCookie(OutlookProperties.cookiejar.GetCookieNamed("uvts"));

                    }

Я получаю это исключение:

Возникла исключительная ситуация с нулевым ответом, отправляющая HTTP-запрос удаленный сервер WebDriver для URL http://localhost: 53531 / сеанс // cook ie. Состояние исключения было ConnectFailure, и сообщение было: «Не удается подключиться к удаленному серверу» *

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