Java:字符串等于不适用于innerHTML 文本

标签 java string selenium equals

我正在 java 中使用 Selenium 来测试搜索向导,我需要在其中单击当前日期。我试图遍历日历中的所有日期,如果与当前日期匹配,则单击它。

这里的问题是日期是隐藏的,所以我必须获取 innerHTML 属性,然后使用子字符串提取日期数字,然后将其与 Calendar.getInstance().get 进行比较(Calendar.DAY_OF_MONTH) 但我的情况每次都失败。已尝试 str.trim() 并尝试删除所有 unicode 字符,但没有任何效果。下面是代码:

WebElement day_of_month = AutoUtils.findElementByTagName(day, "span");
if(day_of_month!=null){
        String innerHtml = day_of_month.getAttribute("innerHTML");
        // innerHtml is "23<span class="buzz-message">Great price</span><i></i>"
       // where 23 is the date i need

        String exact_date = innerHtml.substring(0,innerHtml.indexOf("<span"));
        exact_date = exact_date.replaceAll("\\P{Print}", ""); // have also tried exact_date.trim();
        if(exact_date.equals(Calendar.getInstance().get(Calendar.DAY_OF_MONTH))){
                    day_of_month.click();
        } else{
             System.out.Println("not found");  //gets printed every time
        }
}

有人可以帮忙吗?

最佳答案

您必须将 int 值(月份中的某一天)转换为字符串:

if (exact_date.equals(String.valueOf(Calendar.getInstance().get(Calendar.DAY_OF_MONTH)))) {
...
}

关于Java:字符串等于不适用于innerHTML 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42969081/

相关文章:

c++ - 如何在 C++ 中实现与 unicode 无关的大小写不敏感比较

python - 从 Python 中的 year-mm-dd 行中切出年份

python - 如何在 Selenium 的 XPath 选择器中选择所有子文本但排除标签?

python - selenium python 从 javascript 窗口对象返回数据

Java 表模型 : Adding a row dynamically by clicking on the last row

java - 在名称为 'dispatcherServlet' 的 DispatcherServlet 中找不到具有 URI [/WEB-INF/views/welcome.jsp] 的 HTTP 请求的映射

mysql - #1064-您的SQL语法: MAX NULL problem错误

python-3.x - 如何点击复选框?甚至 aria-hidden 也是= true?

java - 能否使用 fork/join 跨线程边界安全地移植非线程安全值?

java - 运行 JAVA 控制台应用程序时出现 NoClassDefFoundError 错误