def get_page_element_text(self, element_info): element_info_list = element_info.split(".") # import_str = 'pages.' + element_info[1] # page_module = __import__(import_str, fromlist=(element_info[1],)) # page_cls = getattr(page_module, element_info[1]) # page_obj = page_cls(self.driver) # element_obj = CommonKWOps.find_element(self, *(getattr(page_obj, element_info[2]))) element_info_tuple = CommonKWOps.get_element_info( self.tsortc, element_info) element_obj = CommonKWOps.find_element(self, *element_info_tuple) element_text = getattr(element_obj, element_info_list[3]) return element_text
def click_element(self, element_info, index=-1): element_info = element_info.split(".") import_str = 'pages.' + element_info[1] page_module = __import__(import_str, fromlist=(element_info[1], )) page_cls = getattr(page_module, element_info[1]) page_obj = page_cls(self.driver) if index == -1: element_obj = CommonKWOps.find_element( self.tsortc, *(getattr(page_obj, element_info[2]))) else: element_obj = CommonKWOps.find_elements( self.tsortc, *(getattr(page_obj, element_info[2])))[index] element_obj.click()
def click_element_unnecessary(self, element_info, timeout): """特殊事件说明: 若该元素可出现,可不出现,则走此方法 """ element_info = element_info.split(".") import_str = 'pages.' + element_info[1] page_module = __import__(import_str, fromlist=(element_info[1], )) page_cls = getattr(page_module, element_info[1]) page_obj = page_cls(self.driver) is_show = CommonKWOps.check_element(self, *(getattr(page_obj, element_info[2])), timeout=timeout) if is_show: CommonKWOps.find_element(self, *(getattr(page_obj, element_info[2]))).click()
def switch_to_frame(self, element_info): element_info = element_info.split(".") import_str = 'pages.' + element_info[1] page_module = __import__(import_str, fromlist=(element_info[1], )) page_cls = getattr(page_module, element_info[1]) page_obj = page_cls(self.driver) element_obj = CommonKWOps.find_element( self, *(getattr(page_obj, element_info[2]))) self.driver.switch_to.frame(element_obj)
def send_keys(self, element_info, str_args): element_info = element_info.split(".") import_str = 'pages.' + element_info[1] page_module = __import__(import_str, fromlist=(element_info[1], )) page_cls = getattr(page_module, element_info[1]) page_obj = page_cls(self.driver) element_obj = CommonKWOps.find_element( self, *(getattr(page_obj, element_info[2]))) element_obj.send_keys(str_args)
def move_to_element(self, element_info): element_info = element_info.split(".") import_str = 'pages.' + element_info[1] page_module = __import__(import_str, fromlist=(element_info[1], )) page_cls = getattr(page_module, element_info[1]) page_obj = page_cls(self.driver) element_obj = CommonKWOps.find_element( self, *(getattr(page_obj, element_info[2]))) ActionChains(self.driver).move_to_element(element_obj).perform()
def get_page_element_count(self, element_info): element_info = element_info.split(".") import_str = 'pages.' + element_info[1] page_module = __import__(import_str, fromlist=(element_info[1], )) page_cls = getattr(page_module, element_info[1]) page_obj = page_cls(self.driver) element_objs = CommonKWOps.find_elements( self, *(getattr(page_obj, element_info[2]))) return len(element_objs)
def check_element_exist(self, element_info): element_info = element_info.split(".") import_str = 'pages.' + element_info[1] page_module = __import__(import_str, fromlist=(element_info[1], )) page_cls = getattr(page_module, element_info[1]) page_obj = page_cls(self.driver) result = CommonKWOps.check_element( self, *(getattr(page_obj, element_info[2]))) if result: return 'true' return 'false'
def get_page_element_attribute(self, element_info): element_info = element_info.split(".") import_str = 'pages.' + element_info[1] page_module = __import__(import_str, fromlist=(element_info[1], )) page_cls = getattr(page_module, element_info[1]) page_obj = page_cls(self.driver) element_obj = CommonKWOps.find_element( self, *(getattr(page_obj, element_info[2]))) pattern = r'([A-Za-z0-9_\-]+)(\(")([A-Za-z0-9_\-]+)("\))' groups = re.match(pattern, element_info[3]) element_method = getattr(element_obj, groups.group(1)) return element_method(groups.group(3))