如何在时间类型元素中发送“时间”键?

问题描述 投票:0回答:2

我需要以“10:00 AM”格式的“time”类型元素以时间格式传递数据。我使用以下代码:

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

这不起作用。输入此类数据的正确方法是什么?

selenium
2个回答
1
投票

使用以下代码:

它将用于文本框/文本区域控制

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

0
投票

对于HTML输入类型,datetime-local从硒处理它并不理想。它不是最常用的日期时间选择器,它在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");

注意:如果您的计算机具有不同的DateTime格式,那么这可能不起作用。您必须检查senKeys可以实际输入的日期时间的哪一部分然后拆分该部分并使用Keys.TAB按Tab键。然后输入下一部分直到完成。

© www.soinside.com 2019 - 2024. All rights reserved.