#selenium-webdriver
#selenium-webdriver
Вопрос:
Я не могу понять, как отправить текст на username
. Как я могу это сделать? Ни одна из подобных проблем в StackOverflow не помогла. (
Вот код:
List<WebElement> list = driver.findElements(By.className("_test"));
WebElement username = list.get(2);
username.click();
username.sendKeys("johnlennon");
Фокус есть, но не ввод текста и завершается со следующей ошибкой:
org.openqa.selenium.Исключение InvalidArgumentException: неизвестная ошибка: не удается сфокусировать элемент
Комментарии:
1. Надеюсь, элемент виден. Есть ли несколько кадров?
2. Кажется видимым) не понимаю, что вы подразумеваете под несколькими фреймами — элементами внутри него?
3. Фокус есть, поэтому я бы предположил, что он должен вводить текст, но не ввод. Есть ли другая функция для ввода текста, кроме SendKeys()?
4. Вы сможете получить, что это такое, пожалуйста, откройте HTML и найдите фреймы. Может быть не в фокусе. Кстати, почему существует
username.click()
для имени пользователя, если предполагается, что для ввода текста?5. Проверьте с помощью firebug, правильный ли идентификатор, используемый для определения местоположения веб-элемента.
Ответ №1:
Вот как я закончил, и это сработало:
List<WebElement> username = driver.findElements(By.xpath("//*[contains(@id, '-Username')]"));
username(1).sendKeys("johnlennon");
Похоже, что было несколько похожих элементов. Извините и спасибо, Рао!