code: def _wait_until(self, condition_method, condition_input, timeout=None):
          
          # Remove implicitly wait timeout
          self.driver_wrapper.driver.implicitly_wait(0)
          # Get explicitly wait timeout
          timeout = timeout if timeout else self.get_explicitly_wait()
          # Wait for condition
          condition_response = WebDriverWait(self.driver_wrapper.driver, timeout).until(
              lambda s: condition_method(condition_input))
          # Restore implicitly wait timeout from properties
          self.set_implicitly_wait()
          return condition_response
docs: Common method to wait until condition met
  
          :param condition_method: method to check the condition
          :param condition_input: parameter that will be passed to the condition method
          :param timeout: max time to wait
          :returns: condition method response