代码是这样的:
String txtDatePr = driver.findElement(By.id("--ID--")).getText();
int txtPrLength = txtDatePr.length();
System.out.println(txtPrLength);
if (txtPrLength == '0'){
System.out.println("Sellable From date value is empty");
}
else{
String[] arrsplitDatePr = txtDatePr.split("/");
int addYearPr = Integer.parseInt(arrsplitDatePr[2]);
addYearPr = addYearPr + 3;
String newYearPr = String.valueOf(addYearPr);
String changedDatePr = arrsplitDatePr[0]+'/'+arrsplitDatePr[1]+'/'+newYearPr;
driver.findElement(By.xpath("//span[@class='--Class---'][1]/input")).sendKeys(changedDatePr);
}
对于
System.out.println(txtPrLength);
它显示我的sysout值为0,但在此之后它给出了一条错误消息:
java.lang.ArrayIndexOutOfBoundsException: 2
答案 0 :(得分:1)
txtPrLength是一个整数,用0
代替'0'if (txtPrLength == 0){
System.out.println("Sellable From date value is empty");
}
答案 1 :(得分:0)
第一件事:您似乎没有从预期元素中获取文本显示结果0的原因
要进行调试,您可以尝试以下代码:
String txtDatePr = driver.findElement(By.id("--ID--")).getText();
int txtPrLength = txtDatePr.length();
System.out.println("String value ="+txtDatePr +"And Length ="+txtPrLength);
在这里,您将清楚地了解您所获得的文本。
第二件事:在if条件中将'0'
替换为0
,因为您需要将文本长度与整数进行比较
if (txtPrLength == 0)
{
System.out.println("Sellable From date value is empty");
}
第三:你得到的是java.lang.ArrayIndexOutOfBoundsException: 2
,因为每次你正在使用index = 2
的其他情况都在这里:
int addYearPr = Integer.parseInt(arrsplitDatePr[2]);
所以只做一件事,如上所述在if条件下进行修正,并尝试如果没有文字则不会移动其他条件。
答案 2 :(得分:0)
为什么要在整数值中应用“”,将其删除
if (txtPrLength == 0)
{
//Code
}