«No Alert Open» при попытке ввести учетные данные до полного открытия веб-сайта - PullRequest
0 голосов
/ 12 мая 2018

enter image description here Я пытаюсь получить доступ к веб-сайту, однако для доступа к веб-сайту сначала необходимо ввести имя пользователя и пароль, после чего откроется полный веб-сайт. Когда я пытаюсь отправить имя пользователя и пароль через «alert.sendkeys», выдается сообщение об ошибке «Предупреждение не открыто». Обратите внимание, что веб-сайт откроется только тогда, когда вы сначала введете имя пользователя и пароль, а затем нажмите «Войти» для авторизации. Мой браузер - Chrome, версия: 64 и версия драйвера Chrome: 2.38. Вот мой код:

public static void launchWebsite(String URL) {
        driver.get(URL);
        try {
            WebDriverWait wait = new WebDriverWait(driver, 2);
            wait.until(ExpectedConditions.alertIsPresent());
            Alert alert = driver.switchTo().alert();
            System.out.println(alert.getText());
           alert.sendKeys("website");
           alert.sendKeys("grren");

        } catch (Exception e) {
            System.out.println("No alertis present");
            //exception handling
        }
    }

1 Ответ

0 голосов
/ 12 мая 2018

driver.get("http://UserName:Password@Example.com"); должно сработать, если сайт использует базовую аутентификацию.

Специальное примечание: если у вас есть @ в вашем пароле, не забудьте заменить этого плохого парня на %40

Если вашему серверу аутентификации требуется имя пользователя с доменом, например «domainuser», вам необходимо добавить двойную косую черту / в URL: //localdomain\user:password@example.com

РЕДАКТИРОВАТЬ:

В Chrome 59 удалена поддержка для https://user:password@example.com URL.

Вы можете использовать следующий метод для обработки в IE начиная с селена 3.4

WebDriverWait wait = new WebDriverWait(driver, 10);      
Alert alert = wait.until(ExpectedConditions.alertIsPresent());     
alert.authenticateUsing(new UserAndPassword(username, password));

Существуетспособ обработки этого с использованием расширения Chrome .Подробнее объяснение можно найти здесь

ИЛИ

Понизьте версию Chrome до <59 </p>

...