Всплывающее окно оповещения о проверке подлинности Firefox - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь получить доступ к веб-странице, где я получаю всплывающее окно для ввода имени пользователя и пароля.С помощью приведенного ниже кода мне удается ввести значения значения, но проблема в том, что, когда я сначала ввожу имя пользователя, а затем TAB, TAB фактически заменит имя пользователя, а затем перейдет к полю пароля.Но тогда и пароль записывается в «поле пользователя».Фокус возвращается к имени пользователя.

var alert = driver.SwitchTo().Alert();
            alert.SendKeys(_credentials.UserName);
            System.Threading.Thread.Sleep(1000);
            alert.SendKeys(Keys.Tab);
            System.Threading.Thread.Sleep(1000);
            alert.SendKeys(_credentials.Password);
            System.Threading.Thread.Sleep(1000);
            alert.Accept();

Я пробовал и с кодом ниже, но это работает только для IE, а не Firefox.

var alert = driver.SwitchTo().Alert();
            alert.SetAuthenticationCredentials(_credentials.UserName, _credentials.Password);
            System.Threading.Thread.Sleep(1000);
            alert.Accept();

Любая идея, как это обойтипроблема в Firefox?

1 Ответ

0 голосов
/ 14 декабря 2018

Можете ли вы попробовать объединить все SendKeys в один и попробовать?

alert.SendKeys(_credentials.UserName + Keys.TAB + _credentials.Password).Accept();

Также в конечном итоге вы можете попытаться получить веб-страницу с аутентификацией, например:

driver.Navigate().GoToUrl('http://<user>:<pass>@<yourpage>')

Возможно, вам понадобится URL кодировать ваш пароль, если он содержит символ @:

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