#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)
Мне требовались эти классы для некоторых конкретных случаев, которые у меня есть, но я все еще хочу избежать повторяющегося кода, не могли бы вы порекомендовать лучший способ сделать это?