public static Schedule getSelectedSchedule(Document doc, Pupil selPupil) throws ParseException { boolean found = false; Schedule selectedS = null; Elements yearSelectors = doc.getElementsByAttributeValue("id", "ctl00_learnYear_drdLearnYears"); for (Element yearSelector : yearSelectors) { Elements years = yearSelector.getAllElements(); for (Element year : years) { if (year.tagName().equals("option")) { String value = year.attr("value"); Schedule schedule; found = true; if ((schedule = selPupil.getScheduleByFormId(value)) == null) { final SimpleDateFormat f = new SimpleDateFormat("yyyy dd.MM", Locale.ENGLISH); f.setTimeZone(TimeZone.getTimeZone("Europe/Moscow")); schedule = new Schedule(value, year.text()); Date start = f.parse(year.text().substring(0, year.text().indexOf("-") - 1) + " 01.09"); Date stop = f.parse( year.text().substring(year.text().indexOf("-") + 2, year.text().length()) + " 31.05"); schedule.setStart(start); schedule.setStop(stop); selPupil.addSchedule(schedule); } if (year.hasAttr("selected") && year.attr("selected").equals("selected")) { selectedS = schedule; } } } } if (!found) throw new ParseException("Years not found", 0); return selectedS; }