Подтвердить что ты не робот

Selenium Webdriver: ввод текста в текстовое поле

Когда я ввожу текст в текстовое поле, он удаляется.

Вот код:

String barcode="0000000047166";

WebElement element_enter = _driver.findElement(By.xpath("//*[@id='div-barcode']"));

element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys("barcode");
4b9b3361

Ответ 1

Согласитесь с Сувиром Кумаром Сао и Файзом.

element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys(barcode);

Ответ 2

У меня был случай, когда я вводил текст в поле, после которого текст будет удален автоматически. Оказалось, что это связано с некоторыми функциональными возможностями сайта, где вам приходилось нажмите клавишу ввода после ввода текста в поле. Итак, после отправки вашего текста штрих-кода методом sendKeys, отправьте 'enter' непосредственно после него. Обратите внимание, что вам придется импортировать класс ключей селена. См. Мой код ниже.

import org.openqa.selenium.Keys;

String barcode="0000000047166";
WebElement element_enter = driver.findElement(By.xpath("//*[@id='div-barcode']"));
element_enter.findElement(By.xpath("your xpath")).sendKeys(barcode);

element_enter.sendKeys(Keys.RETURN); // this will result in the return key being pressed upon the text field

Надеюсь, это поможет.

Ответ 3

Используйте этот код.

driver.FindElement(By.XPath(".//[@id='header']/div/div[3]/div/form/input[1]")).SendKeys("25025");

Ответ 4

Это может быть проверка JavaScript для некоторого допустимого условия.
Две вещи, которые вы можете выполнить в соответствии с вашими требованиями:

  • либо проверьте правильность ввода строки в текстовом поле.
  • или установите цикл в это текстовое поле, чтобы ввести значение, пока вы не опубликуете форму/запрос.
String barcode="0000000047166";

WebElement strLocator = driver.findElement(By.xpath("//*[@id='div-barcode']"));
strLocator.sendKeys(barcode);