Невозможно поместить текст более одного символа для определенного ввода HTML из Selenium Java

#javascript #java #selenium #sendkeys

Вопрос:

На некоторых страницах приложения пользовательского интерфейса Selenium Java не может поместить текст с несколькими символами в текстовую строку ввода HTML ( <input type="text" id="Name " value="" maxlength="32" tabindex="10"> ). Я попробовал способы ниже, и «данные» в примере кода-это текст «abcd», и только первое » а » может быть помещено. Мне нужна помощь по этой специальной проблеме с селеном только для определенных страниц (не для аналогичных большинства страниц).

  1. Обычным способом:
 ele.clear();
ele.sendKeys(data);
 
  1. Добавить Ввод:
 ele.clear();
ele.sendKeys(data);
Utils.sleep(200);
ele.sendKeys(Keys.RETURN);
 
  1. Путь Java-скрипта:
 ((JavascriptExecutor)driver).executeScript("document.getElementById('"   elementId   "').setAttribute('value', '"   data   "')");
 
  1. Повтор за повтором:
 ele.clear();
for (int j = 0; j < data.length(); j  ){
    char c = data.charAt(j);
    String s = new StringBuilder().append(c).toString();
    ele.sendKeys(s);
    Utils.sleep(100);
} 
 

Комментарии:

1. при попытке вручную вам удалось ввести более одного символа?

2. ДА. Многие действия, выполняемые вручную, не могут быть выполнены Селеном.

3. 1. Какой браузер вы используете? 2. Во время отладки вы смогли увидеть abcd значение на шаге ele.sendKeys(data); ? 3. Вы пробовали изменить XPath?

4. Ответьте на вопросы Нандана: 1. Chrome (FireFox такой же). 2. Да. Я вижу data=»abcd» прямо перед запуском, и вижу HTML.. значение=»а»> сразу после. 4. Да. Попытался получить ele как по ID, так и по XPath, и я чувствую, что это не имеет значения. Спасибо, что обратили внимание на мой вопрос!