# coding: utf-8 # Author:*** # Date:2020/08/17 from selenium.webdriver import ActionChains from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time import os import re from commom.logger import Log from commom.webBases import WebBases from pages.constuctQuaMngPage import CONSTRACTQM """ # SPM中功能模块,施工现场质量管理,组织权限管理,设备安全管理,系统运维管理,人员安全管理 """ logger = Log() class SpmSystem(WebBases): """----------------------公共方法------------------------""" def aw_set_time(self, value=None, loc=None): """ # 在时间选择处。设置时间 :param value: 输入值 :param loc: 时间位置 :return: """ try: self.aw_click_element(By.ID, loc) # 时间 self.aw_clear_set_input(By.ID, loc, value) time.sleep(1) self.aw_send_keys_input(By.ID, loc, Keys.ENTER) except: raise Exception("设置时间,fail...") def aw_select_all_opts(self): # 全选,在静态html中通用 self.aw_click_element(By.XPATH, '//*/table[@class="layui-table"]/thead/tr/th/div/div/i') def aw_select_first_opt(self): # 选择第一个,单选 self.aw_click_element(By.XPATH, '//*/table[@class="layui-table"]/tbody/tr[1]/td[1]/div/div/i') def aw_select_checkbox(self, opt): """ # 施工现场质量管理,质量检查,质量问题管理 :param opt: 全选,单选 :return: """ if opt == 'all': self.aw_click_element(By.XPATH, '//*[@id="DataTables_Table_0_wrapper"]/div[4]/div[2]/div[1]/table/thead/tr/th/input') logger.info("项目全选") elif opt == 'one': self.aw_click_element(By.XPATH, '//*[@id="DataTables_Table_0_wrapper"]/div[4]/div[2]/div[2]/div/table/tbody/tr[1]/td/input') logger.info("项目选择第一个") def aw_display_page_number(self, num): """ # 在table中显示条数选择,页数,在table的上面 :param num: :return: """ self.aw_select_by_text(By.NAME, CONSTRACTQM.PAGE, num) def aw_search_function(self, value): # 页面中有搜索功能, 填入值 self.aw_clear_set_input(By.XPATH, '//*[@id="DataTables_Table_0_filter"]/label/input', value) time.sleep(2) def aw_delete_function(self): # 删除功能,左边 time.sleep(1) self.aw_click_by_text("删除") time.sleep(1) self.aw_click_element(By.CLASS_NAME, 'layui-layer-btn0') def aw_select_the_checkbox(self): # 选择checkbox f = self.driver.find_element_by_css_selector('div.layui-input-block > div > i').is_selected() if not f: self.driver.find_element_by_css_selector('div.layui-input-block > div > i').click() def aw_click_search_button(self): # 点击查询 self.aw_click_element(By.ID, DEVICESFMNG.SEARCH) time.sleep(1) def aw_get_right_table_data(self, num=3): # 列表右边表列中的数据 try: es = self.driver.find_elements_by_xpath(f'//*[@id="DataTables_Table_0"]/tbody/tr/td[{num}]') elist = [e.text for e in es] return elist except: return [False]
对象页面使用的方法
最新推荐文章于 2024-10-13 19:04:04 发布