Example #1
0
 def is_exists(self, locator, number=None):
     """元素是否存在(DOM)"""
     try:
         values = getElement(locator, number)
         return EC.presence_of_element_located(values)(self.driver)
     except NoSuchElementException:
         return False
Example #2
0
 def is_visible(self, locator, number=None):
     """元素是否可见"""
     try:
         values = getElement(locator, number)
         self.visible_obj.until(EC.visibility_of_element_located(values))
         return True
     except TimeoutException:
         return False
Example #3
0
 def is_click(self, locator, number=None):
     """点击"""
     values = getElement(locator, number)
     ele = self.wait.until(EC.element_to_be_clickable(values),
                           message="点击元素{}失败!".format(values))
     self.focus(ele)
     ele.click()
     sleep()
Example #4
0
 def element_screenshot(self, locator, path, number=None):
     """对某个元素进行截图,并返回截图路径"""
     values = getElement(locator, number)
     ele = self.find_element(values)
     self.focus(ele)
     self.driver.save_screenshot(path)
     area_screenshot(ele, path)
     self.driver.implicitly_wait(1)
     return path
Example #5
0
 def input_text(self, locator, text, number=None):
     """输入(输入前先清空)"""
     sleep(0.5)
     values = getElement(locator, number)
     ele = self.wait.until(EC.element_to_be_clickable(values),
                           message="在元素%s中,输入<%s>失败!" % (values, text))
     self.focus(ele)
     ele.clear()
     ele.send_keys(text)
     return text
Example #6
0
 def upload_file(self, locator, file_path, exists=None, number=None):
     """上传文件
     :param locator: 上传文件的元素 input[type=file]
     :param file_path: 文件的路径
     :param exists: 上传后要验证的元素
     :param number: 元素index
     """
     file_name = get_image_name(file_path)[0]
     values = getElement(locator, number)
     ele = self.find_element(values)
     self.focus(ele)
     ele.send_keys(file_path)
     start_time = timestamp()
     if file_path.endswith(('.jpg', '.png')):
         exists = base['模糊匹配文字'] % file_name
     while not self.is_exists(exists):
         sleep(0.5)
         if (timestamp() - start_time) > self.timeout:
             raise TimeoutException("上传文件{}超时!".format(file_path))
     sleep(3)
     return file_path
Example #7
0
 def find_elements(self, *args, **kwargs):
     """查找多个相同的元素"""
     values = getElement(*args, **kwargs)
     return self.wait.until(EC.presence_of_all_elements_located(values),
                            message="查找多个元素失败!{}".format(values))
Example #8
0
 def text_in_element(self, locator, text, number=None):
     """检查某段文本是否在元素中"""
     values = getElement(locator, number)
     return EC.text_to_be_present_in_element(values, text)(self.driver)
Example #9
0
 def is_selected(self, locator, number=None):
     """判断是否选中"""
     values = getElement(locator, number)
     return self.wait.until(
         EC.element_located_selection_state_to_be(values, True))