code: def wait_until_clickable(self, selector, **kwargs):
          
          self.info_log("Waiting until clickable (%s)" % selector)
  
          timeout = kwargs.get(
              'timeout',
              BROME_CONFIG['proxy_driver']['default_timeout']
          )
          self.debug_log("effective timeout: %s" % timeout)
  
          raise_exception = kwargs.get(
              'raise_exception',
              BROME_CONFIG['proxy_driver']['raise_exception']
          )
          self.debug_log("effective raise_exception: %s" % raise_exception)
  
          _selector = Selector(self, selector)
  
          try:
              WebDriverWait(
                  self._driver, timeout
              ).until(
                  EC.element_to_be_clickable(
                      (getattr(By, _selector.find_by), _selector.get_selector()))
              )
              self.debug_log(
                  "wait_until_clickable (%s): element is clickable" % _selector
              )
              return True
          except exceptions.TimeoutException:
              msg = "wait_until_clickable: element (%s) is still not clickable" % _selector  # noqa
              self.debug_log(msg)
              self.print_javascript_error()
              if raise_exception:
                  if self.bot_diary:
                      self.bot_diary.add_auto_entry(
                          "I waited for the clickability of",
                          target=_selector.get_human_readable()
                      )
                  raise exceptions.TimeoutException(msg)
              else:
                  return False
docs: Wait until an element is clickable
  
          Args:
              selector (str): the selector used to find the element
  
          Kwargs:
              timeout (int) second before a timeout exception is raise
              raise_exception (bool) raise an exception or return a bool
  
          Returns:
              bool True if element is clickable before the timeout,
                  False otherwise (raise_exception = False)
  
          Raises:
              this function might raise an exception depending on the
                  raise_exception kwargs
              or
              the config proxy_driver:raise_exception