Java 在下拉列表中获取选项的值并在if语句中使用
我有一个下拉菜单,上面有很多日期。每个日期都有一个附加值,格式为Java 在下拉列表中获取选项的值并在if语句中使用,java,selenium,Java,Selenium,我有一个下拉菜单,上面有很多日期。每个日期都有一个附加值,格式为“yyyymm”。我要做的是获取value属性中的日期,并将其与当前月份和年份进行比较。HTML如下所示: <select name="selectPeriod"> <option value="201511">Nov 2015</option> <option value="201510">Oct 2015</option> <option
“yyyymm”
。我要做的是获取value属性中的日期,并将其与当前月份和年份进行比较。HTML如下所示:
<select name="selectPeriod">
<option value="201511">Nov 2015</option>
<option value="201510">Oct 2015</option>
<option value="201509">Sept 2015</option>
int month=Calendar.getInstance().get(Calendar.MONTH)+1;
int year =Calendar.getInstance().get(Calendar.YEAR);
String CurDate = String.valueOf(year+month);
Select dropdown = new Select(driver.findElement(By.name("selectedPeriod")));
dropdown.selectByIndex(0);
String ValDate = dropdown.getFirstSelectedOption().getAttribute("ValDate");
if(valDate.equals(CurDate)){
System.out.println("Worked: ");
} else {System.out.println("Didnt work: ");
}
当前代码在线程“main”java.lang.NullPointerException中提供和异常
错误,我假设这是指代码的字符串ValDate=dropdown.getFirstSelectedOption().getAttribute(“ValDate”)
部分没有用实际值填充
在过去的几天里,我才开始使用Java,所以大部分都是反复试验。最好的方法是什么?选项的值没有
ValDate
属性-您可能想获得值
属性。替换:
dropdown.getFirstSelectedOption().getAttribute("ValDate");
与:
你是说
.getAttribute(“值”)代码>?另外,如果检查下拉列表.getFirstSelectedOption()的值,该怎么办?它等于什么?谢谢。@alecxe最初我没有,但一旦我将其更改为value,它就解决了我得到错误的问题。不幸的是,If语句
似乎没有正常工作。我从int month=Calendar.getInstance().get(Calendar.month)+1中删除了+1
,以获取11月份,但是if语句打印出来的不起作用
@alecxe我发现if语句不起作用的问题(将两个int
year和month与字符串CurDate
一起添加)。如果您想让您的评论成为答案,我将给您打勾。@Jcmoney1010您的示例源代码违反了重要的Java约定,即类名以大写字母开头而实例以小写字母开头。因此String curDate
而不是String curDate
,同样地,valDate
而不是valDate
@Jcmoney1010正确地解决了您的特定问题。但是您的代码还有其他严重问题。在这里回答将是无关紧要的,因此我用.你可能会发现这很有趣,也很有帮助。
dropdown.getFirstSelectedOption().getAttribute("value");