Python+Selenium获取HTML-Table表格数据

时间:2024-11-13 08:39:43

在自动化中,有时我们会遇到html表格,需要对表格添加的内容判断其正确性,那么怎么才能取得表格数据呢?

1.通过selenium定位方式(id,name,xpath等方式)定位table标签

定义基类base

# -*- coding: utf-8 -*-
from  import WebDriverWait


class PageMethods(object):
    def __init__(self, driver):
         = driver
        # = url

    def find_element(self, *loc):
        try:
            WebDriverWait(, 10).until(lambda driver: driver.find_element(*loc).is_displayed())
            return .find_element(*loc)
        except:
            print("%s 页面中不能找到 %s 元素"%(self, loc))
此处调用上面类中的find_element方法
table_in = (By.CLASS_NAME, 'ttab')# 查询结果的内部table
# 进入table
def in_table(self):
    self.find_element(*self.table_in)

2.获取总行数及总列数(也就是获取tr或者td标签的个数)

# 获得table的行数

def get_tablerows(self):
    table = self.find_element(*self.table_in)
    return table.find_elements_by_tag_name("tr")
# 获得table的列数
table_rows = self.get_tablerows()
test_cels = table_rows[0].find_elements_by_tag_name('td')

3.获取单个cell值

table_text_rm = table_rows[rownum].find_elements_by_tag_name('td')[1].text