Проблема (Вопрос) заключается …
Хочу написать простой тест, заходим на страницу гмейла и логинимся под своими данными.
Набросал код. Удалось зайти на гмейл сайт, ввести емейл, нажать кнопку далее, дальше меня перекинуло на страницу ввода пароля и вот тут то ошибка, которую выкидывает Java. Прилагаю мой код, если можете запустите его у себя и подскажите как быть? Я всего второй день сижу с Селениумом, поэтому пока совсем новичок в этом.
Я попытался сделать …
Вряд ли, вот я сделал по TagName
WebElement elPass = driver.findElement(By.tagName(“input”));
Thread.sleep(7000);
elPass.sendKeys(gmailPassword);
Но на третей строке кода вылетает ошибка… Не могу разобраться, можете помочь?
Извините я всего второй день сижу с селениумом, поэтому я даже вопрос ваш не понял . Вы можете помочь с решением моей проблемы ? После этого мне стало бы понятно , в чем проблема и в будущем я уже бы знал решение
Что такое локатор? CSS селектор ?
Пользуюсь google chrome driver последней версии.
Но селектор у меня точно правильный , я даже распечатывал - распечатывается инпут тег, все нормально
Попробовал driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS); - резулат тот же самый.
Вы можете мой код запустить у себя и посмотреть? Я еще раз повторюсь, что вот эта строка работает
WebElement elPass = driver.findElement(By.tagName(“input”));
Потому что тест у меня ПАССЕД до этого шага. Проблема начинается тут
elPass.sendKeys(gmailPassword);
Таки да, падает, потому как поиск по tagName(“input”) находит несколько таких элементов, и клик явно уходит не тому, которому нужно. Если указать конктетный инпут через cssSelector(“input[name=‘password’]”), то тест проходит.
Рекомендую поизучать селекторы (xpath, css) и в коде указывать максимально уникальный селектор.
//input[@id=‘identifierId’] xpath для поля логин
//div[@id=‘identifierNext’] xpath для кнопки next
//input[@type=‘password’] xpath для поля пароля
//div[@id=‘passwordNext’] xpath для кнопи next пароль
как тебе уже написали почитай про то как создать xpath и css selector
Залогиниося в гмейл и сейчас пробую нажать на крайнюю правую кнопку, чтобы посмотреть емейл, но получаю ошибку
WebElement elEl = driver.findElement(By.xpath("//span[@class=‘gb_db’]"));
Что не так с моим кодом?