Как отправить клавиши «time» в элементе типа time?

#selenium

#selenium

Вопрос:

Мне нужно передать данные в формате time в элементе типа «time» в формате «10:00 утра». Я использую следующий код:

 public static void setShift()
{
     txttime.sendkeys("1030AM");
}
  

это не работает. каков правильный способ ввода таких данных?

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

1. отображается ли какое-либо сообщение об ошибке для этого кода?

2.Я запускаю этот скрипт, и он работает на моем компьютере:- WebDriver driver = new ChromeDriver(); driver.get("http://demo.guru99.com/test/"); WebElement dateBox = driver.findElement(By.xpath("//form//input[@name='bdaytime']")); dateBox.sendKeys("09252013"); dateBox.sendKeys("0245PM");

Ответ №1:

Используйте следующий код :

Это будет работать для управления текстовым полем / текстовой областью

 SimpleDateFormat formatter = new SimpleDateFormat("hh:mm a");
Date date = new Date();
txttime.sendkeys(date);
  

Ответ №2:

Для типа ввода HTML datetime-local обработка его из selenium не идеальна. Это не самый используемый инструмент выбора даты и времени, и он не поддерживается в firefox или Safari.

Для Chrome формат даты и времени показывает формат, установленный на компьютере браузера.

Если вы ничего не изменили, я предполагаю, что вы получаете формат, показанный в руководстве guru99.

Если это так, то вы пропустили, что они также предоставили решение там. После ввода части даты вам нужно нажать tab для ввода части времени. Чего не хватает в вашем данном коде.

Попробуйте это:

Сначала введите дату

 WebElement dateBox = driver.findElement(By.xpath("//form//input[@name='bdaytime']"));
dateBox.sendKeys("09252013");
  

Во-вторых, нажмите tab

 dateBox.sendKeys(Keys.TAB);
  

Наконец, введите время

 dateBox.sendKeys("0245PM");
  

Примечание:
Если на вашем компьютере другое форматирование даты и времени, это может не сработать. Вы должны проверить, какую часть времени даты senKeys можно фактически ввести, затем разделить эту часть и использовать Keys.TAB для нажатия tab. Затем введите следующую часть до завершения.