Избегание повторяющегося кода для классов webdriver

#python #python-3.x #selenium #selenium-webdriver #webdriver

Вопрос:

У меня есть эти классы входных элементов, которые довольно похожи:

 class BaseElement:  def __init__(self, locator):  self.locator = locator   @staticmethod  def webdriver_element(driver, locator, wait_time, explicit_wait):  return callback_webdriver(driver, wait_time).until(explicit_wait(locator))   class InputElement(BaseElement):  def __set__(self, obj, value):  driver = obj.driver  element = self.webdriver_element(  driver, self.locator, 30, EC.element_to_be_clickable  )  element.send_keys(value)   class DelayedInputElement(BaseElement):  def __set__(self, obj, value):  driver = obj.driver  time.sleep(3)  element = self.webdriver_element(  driver, self.locator, 30, EC.element_to_be_clickable  )  element.clear()  element.send_keys(value)   class InputElementAndWaitTime(BaseElement):  def __set__(self, obj, value):  driver = obj.driver  element = self.webdriver_element(  driver, self.locator, 30, EC.element_to_be_clickable  )  element.clear()  element.send_keys(value)  time.sleep(4)  

Мне требовались эти классы для некоторых конкретных случаев, которые у меня есть, но я все еще хочу избежать повторяющегося кода, не могли бы вы порекомендовать лучший способ сделать это?