我无法从硒中的日期选择器中选择今天的日期和时间(加上15分钟的时间)。
现在我已经为日期编写了无法正常工作的代码,所以这里是代码-
DateFormat dateFormat2 = new SimpleDateFormat("dd/MM/yyyy hh:mm a");
System.out.println("Format defined");
Date date2 = new Date();
System.out.println("Date object creation");
String today = dateFormat2.format(date2);
WebElement dateWidget = driver.findElement(By.xpath(".//*[@class='xdsoft_calendar']"));
System.out.println("Calendar web element");
List<WebElement> columns=dateWidget.findElements(By.tagName("div"));
System.out.println("listing web element");
System.out.println(today);
//comparing the text of cell with today's date and clicking it.
for (WebElement cell : columns)
{
System.out.println("In for loop"+cell.getText());
if (cell.getText().equals(today))
{
System.out.println("inside if");
System.out.println(today);
cell.click();
break;
}
}
<div class="xdsoft_calendar">
<table>
<thead>
<tr>
<th>Sun</th>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
<th>Sat</th>
</tr>
</thead>
<tbody>
<tr>
<td data-date="28" data-month="9" data-year="2018" class="xdsoft_date xdsoft_day_of_week0 xdsoft_date xdsoft_disabled xdsoft_other_month xdsoft_weekend">
<div>28</div>
</td>
<td data-date="29" data-month="9" data-year="2018" class="xdsoft_date xdsoft_day_of_week1 xdsoft_date xdsoft_disabled xdsoft_other_month">
<div>29</div>
</td>
<td data-date="30" data-month="9" data-year="2018" class="xdsoft_date xdsoft_day_of_week2 xdsoft_date xdsoft_disabled xdsoft_other_month">
<div>30</div>
</td>
</tr>
</tbody>
</table>
</div>
注意:1.预计我们应该可以选择今天的日期 2.当前时间距离日期选择器+15分钟。
我很难找到家伙,任何帮助将不胜感激
答案 0 :(得分:1)
这个问题缺少一些细节,例如时间选择的html页面的外观,但是无论如何,我都会尝试猜测并帮助您从问题中获得什么。
由于您的条件不符合,您无法选择当前日期,因此很可能会发生:
if (cell.getText().equals(today))
cell是一个div
,它的getText()
应该分别返回28
,29
和30
。然后将其与值dateFormat2.format(date2);
进行比较,该值很可能返回类似08/11/2018 02:12 PM
的值。尝试进行以下修改(Java 8 +):
int currentDay = LocalDate.now().getDayOfMonth();
if (cell.getText().equals(currentDay)) {
}
小时和分钟逻辑要么添加html的外观,要么仅使用LocalDate.now().getHour()
来获取当前小时并实现类似的条件以选择必要的时间。提示:您可能需要滚动到必要的元素。
仔细研究LocalTime here
答案 1 :(得分:0)
当前时间:日历cal = Calendar.getInstance();
添加15分钟:cal.add(Calendar.MINUTE,15);
返回为日期类型:日期date = cal.getTime();