在下拉列表中获取选项的值并在if语句中使用它
我有一个下拉菜单,有一堆日期。 这些日期中的每一个都以"yyyymm"
的forms附加到其上。 我想要做的是获取value属性中的日期,并将其与当前月份和年份进行比较。 HTML看起来像这样:
Nov 2015 Oct 2015 Sept 2015
使用IF语句,我想查看第一个选项的值,并将其与当前日期进行比较。 我只需要检查第一个选项,而不是在整个下拉菜单中循环。 我目前的设置如下:
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: "); }
当前代码Exception in thread "main" java.lang.NullPointerException
错误中提供和Exception in thread "main" java.lang.NullPointerException
,我假设它是指我的代码的String ValDate = dropdown.getFirstSelectedOption().getAttribute("ValDate")
部分未被填充实际价值。
我在过去几天才开始使用Java和Selenium ,其中很多都是试错。 怎样才能解决这个问题?
option
值没有ValDate
属性 – 您可能意味着获取value
属性。 更换:
dropdown.getFirstSelectedOption().getAttribute("ValDate");
有:
dropdown.getFirstSelectedOption().getAttribute("value");