#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. Затем введите следующую часть до завершения.