Selenium WebDriver Войти в MondoZoo - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь заполнить форму входа в систему http://www.mondozoo.com,, но когда я пытаюсь найти имя пользователя или пароль, я получаю следующее исключение: org.openqa.selenium.NoSuchElementException.

Я пытался:

private static void enterMondoZoo(ChromeDriver driver){
    lg.info("Entering in mondoZoo:");
    driver.get("http://www.mondozoo.com");
    driver.findElement(By.className("mbarlog")).click();
    try {
        Thread.sleep(3000); //not the best wait in the world
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    driver.findElementByName("login").sendKeys("random");

    lg.info("Leaving the enteringMondoZoo");
}

Я пробовал: xpath- //*[@id="loginform"]/div[3]/form/div[1]/p[2]/input, но безуспешно.

1 Ответ

0 голосов
/ 20 января 2019

Отображаемая модель входа на самом деле внутри iframe. Поэтому сначала вам нужно переключиться на фрейм и попытаться ввести значения.

private static void enterMondoZoo(ChromeDriver driver){
    lg.info("Entering in mondoZoo:");
    driver.get("http://www.mondozoo.com");
    driver.findElement(By.className("mbarlog")).click();
    try {
        Thread.sleep(10000); //not the best wait in the world
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    driver.switchTo().frame("framebarrelogin");
    //Do all your login actions here
    driver.findElement(By.xpath("//*[@id='loginform']/div[3]/form/div[1]/p[2]/input")).sendKeys("random");
    //Login actions completed
    driver.switchTo().defaultContent();
    lg.info("Leaving the enteringMondoZoo");
}

Я использовал атрибут iframe ID для переключения на фрейм. Вы также можете использовать индекс вместо ID. Когда вы закончите со всеми операциями внутри iframe, вернитесь на главную страницу с помощью «driver.switchTo (). DefaultContent ()».

Для получения более подробной информации об обработке iframes, вы можете посетить этот блог .

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