Я нашел несколько ссылок с неоптимальными реализациями.Используя класс Selenium's Select, это не так уж сложно.Вот утилита, с которой я могу справиться
public static void selectDateFromJqueryDatepicker(WebElement datePickerDiv, int expYear, int expMonth, int expDay) {
//handle 2 digit years
if(expYear < 100)
expYear += 2000;
//select the given year
Select yearSel= new Select(datePickerDiv.findElement(By.className("ui-datepicker-year")));
yearSel.selectByValue(String.valueOf(expYear));
//select the given month
Select monthSel= new Select(datePickerDiv.findElement(By.className("ui-datepicker-month")));
monthSel.selectByValue(String.valueOf(expMonth - 1)); //value start @ 0 so we need the -1
//get the table
WebElement calTable= datePickerDiv.findElement(By.className("ui-datepicker-calendar"));
//click on the correct/given cell/date
calTable.findElement(By.linkText(String.valueOf(expDay))).click();
}
Вам просто нужно передать год / месяц / день в целочисленном формате и внешний div-указатель даты.В моем случае я нашел это так
WebElement datePickerDiv= findElement(By.id("ui-datepicker-div"));