def android_uiautomator(self, *loc, secs=10): try: el = WebDriverWait(self.driver, secs, 0.5).until(EC.presence_of_element_located(loc)) return el except: logger.warning('页面未找到{}元素'.format(loc))
def find_elements(self, *loc, secs=10): try: els = WebDriverWait(self.driver, secs, 0.5).until( EC.presence_of_all_elements_located(loc)) return els except: logger.warning('页面未找到{}元素'.format(loc))
def is_toast_exist(self, text): try: toast_loc = (By.XPATH, "//*[@text='%s']" % text) WebDriverWait(self.driver, 10, 0.01).until( EC.presence_of_element_located(toast_loc)) return True except Exception as e: logger.warning("{} 页面中未能找到 {} 元素".format(self.driver, text)) return False
def send_keys(self, *loc, value, clear_first=True, click_first=True): try: loc = getattr(self.driver, "_{}".format(loc)) if click_first: self.driver.find_element(*loc).click() if clear_first: self.driver.find_element(*loc).clear() self.driver.find_element(*loc).send_keys(value) except AttributeError: logger.warning("{} 页面中未能找到 {} 元素".format(self.driver, loc))
def is_element(self, *loc): try: self.find_element(*loc) except NoSuchElementException as e1: logger.warning('没找到元素: {}'.format(e1)) return False except TimeoutException as e2: logger.warning('没找到元素: {}'.format(e2)) return False else: return True