1、获取列表页面表格数据
def get_table_content(self):
"""
读取列表数据
:return:
"""
time.sleep(1)
self.switch_iframe(AXPL.swdj_menu_iframe[0], doc="收文登记首页")
list_1= []
list_2= []
table_tbody = "//table[@class='el-table__body']//tbody"
element = self.driver.find_element_by_xpath(table_tbody)
table_tr_list = element.find_elements_by_tag_name("tr")
for tr in table_tr_list:
list_2= (tr.text).split()
list_1.append(list_2)
self.driver.switch_to_default_content()
return list_1
list_1 返回数据格式如下显示:
[['测试标题5', '测试单位5', '韦XX', '2021-07-14', '未提交', '传递', '删除'], ['测试标题4', '测试单位4', '韦XX', '2021-07-14', '未提交', '传递', '删除'], ['测试标题3', '测试单位3', '韦XX', '2021-07-14', '未提交', '传递', '删除'], ['测试标题2', '测试单位2', '韦XX', '2021-07-14', '未提交', '传递', '删除'], ['XXXX职业技术学院-行政', 'XXXX职业技术学院', '陈XXX', '2021-04-14', '秘书科领导拟办意见(黄XX)']]
2、判断所操作元素是否存在列表中,若存在定位其元素位置;若不存在,跳过该操作
def find_table_data(self):
"""
循环遍历table数据,确定查询数据的位置
:return:
"""
arr_data = self.get_table_content()
print(arr_data )
queryContent = "测试标题2"
for i in range(len(arr_data)):
for j in range(len(arr_data [i])):
if queryContent == arr_data [i][j]:
print("%r坐标为(%r,%r)" % (queryContent, i + 1, j + 1))
return i
else
return 0
3、删除该元素
def del_table_data(self):
"""
定位到需要删除数据的行,点击对应的删除按钮
:return:
"""
row = self.table_data()
if row != 0:
time.sleep(2)
self.switch_iframe(AXPL.swdj_menu_iframe[0], doc="收文登记首页")
table_tbody = "//table[@class='el-table__body']//tbody"
table = self.driver.find_element_by_xpath(table_tbody)
table_tr_list = table.find_elements_by_tag_name("tr")
table_tr_list[row].find_element_by_xpath(".//button//span[contains(.,'删除')]").click()
time.sleep(1)
self.click(AXPL.del_confirm_btn, doc="点击确认按钮")
self.driver.switch_to_default_content()
else:
print("该元素不存在,请重新选择!")
4、执行测试用例
def test_f(self):
time.sleep(1)
B = AXP(self.driver).table_data()
AXP(self.driver).del_table_data()
print(B)
|