Make Selenium Easy

JavaScript Way To Handle Calendar In Selenium

Hello Folks,

In last two posts we have seen handling different types of calendars:

Handling Calendar Which Has Year & Month As Drop down In Selenium

How To Handle Different Types Of Calendars In Selenium: Part 1

If you notice, You need to write a lengthy code to handle calendars in selenium. Is there any shortcut ways to handle calendars?

Answer is “Yes”. We can this using java script.

JavaScrips(JS) provides a method called setAttribute. Syntax is as below:

Example: document.getElementsByID(“Some Id”)[0].setAttribute(“class”, “democlass”);

  • Above line will set html attribute “Class” for web element.
  • This method can be used to set any attribute.
  • We can use above method of javascript to select date in a calendar. Only condition is that calendar widget allow you to type manually as well apart from selecting from calendar.
  • For example: You should be able to  type 08/30/2017 in calendar box also.

Java Code:



If you have any doubt, feel free to ask here.

If you like my posts, please like, comment, share and subscribe.



Table of Contents

Author: Amod Mahajan

My name is Amod Mahajan and I am an IT employee with 6+ years of experience in Software testing and staying in Bengaluru. My area of interest is Automation testing. I started from basics and went through so many selenium tutorials. Thanks to Mukesh Otwani as his tutorials are easy and cover basics to advance. I have habit of exploring concepts by deep diving. I used to make notes. I thought of sharing my knowledge through posts and now I am here. #KeepLearning #ShareLearning

6 thoughts on “JavaScript Way To Handle Calendar In Selenium

  1. Hello Amod,

    I am trying to select date using JavascriptExecutor but unable to do so. My expected date is not getting selected and default date i.e. today date is getting retreived. Also I am not getting any execption so not able to understand root case. Could you guide me? Below is my code.

    System.setProperty(“”, “D:\\1\\chromedriver.exe”);

    // Start browser
    driver = new ChromeDriver();
    driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);


    // Calendar 1

    WebElement dateAndTimeField = driver.findElement(“dateAndTimePickerInput”));

    CalendarToolsQA.setDateUsingJavaScriptInCalendar(driver, dateAndTimeField, “March 14, 2019 12:21 PM”);

    try {
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    System.out.println(“Date Selected is : ” + dateAndTimeField.getAttribute(“value”));

    // Calendar 2

    WebElement selectDate = driver.findElement(“datePickerMonthYearInput”));

    CalendarToolsQA.setDateUsingJavaScriptInCalendar(driver, selectDate, “March 14, 2019 12:21 PM”);

    try {
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block

    System.out.println(“Date Selected is : ” + selectDate.getAttribute(“value”));


    public static void setDateUsingJavaScriptInCalendar(WebDriver driver, WebElement element, String value) {
    JavascriptExecutor js = (JavascriptExecutor) driver;
    String script = “arguments[0].setAttribute(‘value’,'” + value + “‘);”;

    js.executeScript(script, element);

  2. Hi Amod,
    While entering the date for,it is entering the date but after clicking on Search,the date value is cleared and default date is displayed in search result.Can you pls have a look on this and help me on this.

  3. fantastic article amod very informative m an manual tester whose planning to shift to automation, so ive picked selenium, now my query is how should i automate calendar of this type( and m reading the value of date from excel sheet.. so any kinda help is much appreciated thanks in advance.

    1. Thanks. There are some other articles of handling dates as well in my blog. Search with keyword calendar, you will get.

Leave a Reply

Please wait...

Subscribe to new posts to become automation expert

Want to be notified when my new post is published? Get my posts in your inbox.

JavaScript Way To Handle Calendar In Selenium

by Amod Mahajan time to read: 1 min
%d bloggers like this: