python中类的继承
·
class BasePage:
"""所有页面类的基类,封装常用方法"""
def __init__(self):
driver_path = r"path"
service = Service(driver_path)
self.driver = webdriver.Chrome(service=service)
self.wait = WebDriverWait(self.driver, 10)
def page_driver(self):
"""返回 driver 实例"""
return self.driver
def find_element(self, locator):
"""查找单个元素"""
return self.wait.until(EC.presence_of_element_located(locator))
def find_elements(self, locator):
"""查找多个元素"""
return self.wait.until(EC.presence_of_all_elements_located(locator))
封装driver对象
class OperatePage(BasePage):
def __init__(self):
super().__init__()
self.url = "http://10.251.22.80:3002/"
def get_table_list(self,table_list):
table_data = []
for row in table_list: # 遍历所有行(包括标题行)
row_data = []
cells = row.find_elements(By.TAG_NAME, 'td') # 获取单元格
if not cells: # 如果是标题行,可能用的是th标签
cells = row.find_elements(By.TAG_NAME, 'th')
for cell in cells:
row_data.append(cell.text)
if row_data and any(cell.strip() for cell in row_data): # 至少有一个非空单元格
table_data.append(row_data)
return table_data
继承driver对象
def debgcase():
operate_page = OperatePage()
driver = operate_page.driver
driver.maximize_window()
driver.get(operate_page.url)
sleep(5)
table = driver.find_element(By.CLASS_NAME, 'ant-table-container')
rows = table.find_elements(By.TAG_NAME, 'tr')
print(f"找到 {len(rows)} 行数据")
table_data = operate_page.get_table_list(rows)
for col in table_data:
print(col)
driver.quit()
在别的类中调用driver属性
更多推荐

所有评论(0)