在自动化中,有时我们会遇到html表格,需要对表格添加的内容判断其正确性,那么怎么才能取得表格数据呢?
1.通过selenium定位方式(id,name,xpath等方式)定位table标签
定义基类base
# -*- coding: utf-8 -*- from selenium.webdriver.support.wait import WebDriverWait class PageMethods(object): def __init__(self, driver): self.driver = driver #self.url = url def find_element(self, *loc): try: WebDriverWait(self.driver, 10).until(lambda driver: driver.find_element(*loc).is_displayed()) return self.driver.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