def __init__(self, parent, id_, w3c=False, loaded=True, by=None, value=None, name=None, type=None, finds=False): self.name = name self.by = by self.value = value self.type = type self._parent = parent parent.driver.implicitly_wait(0) if id_: self.element = WebElement(parent, id_, w3c) self.loaded = True else: if finds: self.element = [] else: self.element = None self.loaded = False parent.driver.implicitly_wait(parent.driver.default_wait_time)
def load(self): if not self.parent == self.driver: try: self.parent.load() except: pass if self.index: _element = self.parent.find_elements(self.by, self.value, type=self.type)[self.index] else: _element = self.parent.find_element(self.by, self.value, type=self.type) try: self.element = WebElement(_element.element._parent, _element.element._id, w3c=_element.element._w3c) except: self.element = None raise
def find_presence_of_element(self, selector, timeout=config.TIMEOUT): element = WebDriverWait(config.DRIVER, timeout).until( expected_conditions.presence_of_element_located(selector)) assert element is not None return WebElement(element)