Selenium Webdriver не может сфокусироваться

#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");
  

Похоже, что было несколько похожих элементов. Извините и спасибо, Рао!