获取列表全部数据时,列表页面中存在空值
使用.text获取文本时,空值获取不到,最终获得的整个列表数据列的位置不是一一对应
问题复现
# 获取列表单页全部数据
def get_table_content(self, table_tbody):
"""
获取列表单页全部数据
:param table_tbody: 列表定位tbody
:return:
"""
time.sleep(1)
new_list = []
# 表格定位路径
element = self.driver.find_element(By.XPATH, table_tbody)
# 获取每一行数据tr
table_tr_list = element.find_elements(By.TAG_NAME, "tr")
# 按行查询表格的数据,取出的数据是一整行
for tr in table_tr_list:
new_list.append(tr.text.split())
return new_list
结果如下:
优化方法(在每行的循环里添加列的循环,每列依次取值)
# 获取列表单页全部数据
def get_table_content(self, table_tbody):
"""
获取列表单页全部数据
:param table_tbody: 列表定位tbody
:return:
"""
time.sleep(1)
new_list = []
# 表格定位路径
element = self.driver.find_element(By.XPATH, table_tbody)
# 获取每一行数据tr
table_tr_list = element.find_elements(By.TAG_NAME, "tr")
# 按行查询表格的数据,取出的数据是一整行
for tr in table_tr_list:
# 获取每一列数据td
table_td_list = tr.find_elements(By.TAG_NAME, "td")
row_list = []
# 遍历每一个td
for td in table_td_list:
# 取出数据放入行列表
row_list.append(td.text)
new_list.append(row_list)
# new_list.append(tr.text.split())
return new_list
结果如下: