Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:String等于不适用于innerHTML文本_Java_String_Selenium_Equals - Fatal编程技术网

Java:String等于不适用于innerHTML文本

Java:String等于不适用于innerHTML文本,java,string,selenium,equals,Java,String,Selenium,Equals,我正在用java中的Selenium测试一个搜索向导,在这里我需要单击当前日期。我正在尝试遍历日历中的所有日期,如果与当前日期匹配,我将单击它 这里的问题是日期是隐藏的,因此我必须获取innerHTML属性,然后使用子字符串提取日期编号,然后将其与Calendar.getInstance().get(Calendar.DAY\u OF\u MONTH)进行比较,但我的条件每次都失败。您尝试过str.trim(),也尝试过删除所有unicode字符,但没有任何效果。代码如下: WebElement

我正在用java中的Selenium测试一个搜索向导,在这里我需要单击当前日期。我正在尝试遍历日历中的所有日期,如果与当前日期匹配,我将单击它

这里的问题是日期是隐藏的,因此我必须获取
innerHTML
属性,然后使用子字符串提取日期编号,然后将其与
Calendar.getInstance().get(Calendar.DAY\u OF\u 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
        }
}
WebElement day\u of_month=AutoUtils.findElementByTagName(day,“span”);
如果(月的第天!=空){
字符串innerHtml=day_of_month.getAttribute(“innerHtml”);
//innerHtml是“23Great price”
//我需要的日期是23号

String exact_date=innerHtml.substring(0,innerHtml.indexOf(“您必须将int值(月日)转换为字符串:

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

尝试使用innerText而不是innerHTML。innerText只提供用户可见的内容。innerHTML甚至提供其中的html和Java脚本。 你应该能够得到“23”只做一个简单的比较


另外,如果您可以显示html,我们可能会很容易为您提供帮助。

您是否检查了
Calendar.getInstance().get(Calendar.DAY\u of\u MONTH)的返回类型
?我相信这是一个日历实例。所以在比较之前,你应该键入cast。啊,我明白了。这是一个int.FYI,像现在这样麻烦的旧日期时间类,被类取代了。是的。我错过了返回类型。