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");