import time import datetime import logging from selenium import webdriver from selenium.webdriver.common.keys import Keys #from selenium.webdriver.support.ui import Select # Making loggin configuration FORMAT = '%(asctime)-15s - %(name)s - %(levelname)s - %(message)s' logging.basicConfig(filename='makemytrip.log', format=FORMAT, level=logging.INFO, datefmt='%Y-%m-%dT%H:%M:%S') logger = logging.getLogger('makemytrip') class bookTrip: def __init__(self): logger.info("Initializing bookTrip class") self.browser = webdriver.Firefox(executable_path='./bin/geckodriver') self.baseurl = 'https://www.makemytrip.com/flights/' def datepicker(self): return self.browser.find_element_by_class_name("ui-datepicker-group-first"), self.browser.find_element_by_class_name("ui-datepicker-group-last") def flight_booking(self): logger.info("Starting to look for flights...") self.browser.get(self.baseurl) self.from_flight = self.browser.find_element_by_id("hp-widget__sfrom") self.to_flight = self.browser.find_element_by_id("hp-widget__sTo") self.from_flight.clear() self.to_flight.clear() self.from_flight.send_keys("Delhi") self.sleeptime(2) self.to_flight.send_keys("Bangalore") self.sleeptime(2) self.depart_time = self.browser.find_element_by_id("hp-widget__depart") self.return_time = self.browser.find_element_by_id("hp-widget__return") #self.browser.execute_script('document.getElementById("hp-widget__depart").removeAttribute("readonly")') #self.browser.execute_script('document.getElementById("hp-widget__depart").removeAttribute("class")') #self.browser.execute_script('document.getElementById("hp-widget__return").removeAttribute("readonly")') #self.browser.execute_script('document.getElementById("hp-widget__return").removeAttribute("class")') #self.date_booking = datetime.datetime.now() #today = datetime.datetime.strftime(self.date_booking, "%d %b, %a") #tomorrow = datetime.datetime.strftime(self.date_booking + datetime.timedelta(1), "%d %b, %a") #self.depart_time.clear() #self.return_time.clear() #self.depart_time.send_keys(today) #self.return_time.send_keys(tomorrow) #self.depart_time.click() #self.return_time.click() #self.sleeptime(2) #self.browser.find_element_by_id('searchBtn').click() self.now = datetime.datetime.now() self.time_delta = datetime.timedelta(1) self.today = "{}000".format(int(datetime.datetime.strptime(datetime.datetime.strftime(self.now, "%d-%m-%y"), "%d-%m-%y").timestamp())) self.tomorrow = "{}000".format(int(datetime.datetime.strptime(datetime.datetime.strftime(self.now + self.time_delta, "%d-%m-%y"), "%d-%m-%y").timestamp())) self.depart_time.click() date_picker_first, date_picker_last = self.datepicker() xpath = '//table/tbody/tr/td[@fare-date="{}"]'.format(self.tomorrow) date_picker_first.find_element_by_xpath(xpath).click() self.sleeptime(2) self.return_time.click() self.sleeptime(2) date_picker_first, date_picker_last = self.datepicker() xpath = '//table/tbody/tr/td[@fare-date="{}"]'.format(self.tomorrow) date_picker_first.find_element_by_xpath(xpath).click() def sleeptime(self,n): time.sleep(n) if __name__ == '__main__': booktrip = bookTrip() booktrip.flight_booking() When executing above program aim getting below error : $ python3 makemytrip.py Traceback (most recent call last): File "makemytrip.py", line 73, in booktrip.flight_booking() File "makemytrip.py", line 57, in flight_booking date_picker_first.find_element_by_xpath(xpath).click() File "/home/juniour/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click self._execute(Command.CLICK_ELEMENT) File "/home/juniour/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webelement.py", line 628, in _execute return self._parent.execute(command, params) File "/home/juniour/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 320, in execute self.error_handler.check_response(response) File "/home/juniour/.local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.ElementNotInteractableException: Message: Element could not be scrolled into view