如何使用 Java 检查 Selenium 中显示的日期

Posted

技术标签:

【中文标题】如何使用 Java 检查 Selenium 中显示的日期【英文标题】:How to check the displayed date in Selenium with Java 【发布时间】:2021-08-22 18:01:27 【问题描述】:

我正在尝试以确切格式获取显示的日期,以验证它是否为 MM/dd/yyyy HH:mm。我试过了:

element.getAttribute("value")

但返回的“yyyy-MM-ddTHH:mm”实际上与 UI 中的不同。

当我使用时:

LocalDateTime currentDateTime = LocalDateTime.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("ddMMyyyy");
String date = dtf.format(currentDateTime);

工作正常:screenshot

【问题讨论】:

【参考方案1】:

来自 UI 的数据可能已被 bootstrap 库转换为 ISO-8601 format。因此,如果您需要获取 MM/dd/yyyy HH:mm 格式的值,可以使用DateTimeFormatter 来完成。

演示:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main 
    public static void main(String[] args) 
        String input = "2021-06-01T04:05";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/uuuu HH:mm", Locale.ENGLISH);
        String formatted = LocalDateTime.parse(input).format(formatter);
        System.out.println(formatted);
    

输出:

06/01/2021 04:05

ONLINE DEMO

通过 Trail: Date Time 了解有关 modern Date-Time API* 的更多信息。


* 出于任何原因,如果您必须坚持使用 Java 6 或 Java 7,您可以使用 ThreeTen-Backport,它将大部分 java.time 功能向后移植到 Java 6 和 7 . 如果您正在为一个 android 项目工作并且您的 Android API 级别仍然不符合 Java-8,请检查 Java 8+ APIs available through desugaring 和 How to use ThreeTenABP in Android Project。

【讨论】:

以上是关于如何使用 Java 检查 Selenium 中显示的日期的主要内容,如果未能解决你的问题,请参考以下文章

如何检查显示密码功能在 selenium 中是不是正常工作?

Python + Selenium - 如何检查使用 CSS 设置样式并显示为内容的图像?

如何使用selenium检查链接是否处于活动状态

需要检查如何在 Docker 中使用 sikuli 和 Selenium

Angular Material - 如何检查 selenium java 中是不是选中了复选框?

如何使用 java selenium 从显示无元素中获取文本