def get_presence_element(self, locator, timeout=20): '''获取存在元素''' try: return WebDriverWait(self.driver, timeout).until( ec.presence_of_element_located(locator)) except Exception as e: Screenshots(self.driver, "获取存在元素失败").screen_shot() log.error("获取存在元素失败:{}".format(e))
def get_clickable_element(self, locator, timeout=20): '''获取可点击元素''' try: return WebDriverWait(self.driver, timeout).until( ec.element_to_be_clickable(locator)) except Exception as e: Screenshots(self.driver, "获取可点击元素失败").screen_shot() log.error("可点击元素获取失败:{}".format(e))
def get_text_element(self, text, timeout=20): '''通过text定位元素''' try: text_loc = (By.XPATH, "//*[@text=\'{}\']".format(text)) return WebDriverWait(self.driver, timeout).until( lambda driver: self.driver.find_element(*text_loc)) except Exception as e: Screenshots(self.driver, "通过text获取元素失败").screen_shot() log.error("通过text获取元素失败:{}".format(e))
def new_is_exist_element(self, text, timeout=20): ''' 重新封装,判断元素是否存在 text: 元素的文本 ''' sleep(2) try: text_loc = (By.XPATH, "//*[@text=\'{}\']".format(text)) WebDriverWait(self.driver, timeout).until( ec.visibility_of_element_located(text_loc)) return True except Exception as e: Screenshots(self.driver, "text获取失败").screen_shot() log.error("text获取失败:{}".format(e)) return False