一、前言
之前在问卷以及Q群上有同学有提出过能否将网页上的一些数据通过Airtest
去导出生成一份Excel
,那么我们今天一起讨论一下,我们应该如何去实现,以及当我们获取的数据类型不同的时候,获取的方式该怎么随之调整?
二、知识点介绍
2.1 python下的Excel的操作
之前我们有篇文章有介绍过poco跟Excel结合使用的案例,里面介绍了Excel
的读写操作,在这里我们是使用了创建Excel
,写入并保存Excel的操作。
import xlwings as xw
# 创建一个新的Excel工作簿和工作表
wb = xw.Book()
sheet = wb.sheets[0]
#将内容写入Excel内
sheet.range((row_index, col_index)).value = cell.text
# 保存Excel文件
wb.save('output.xlsx')
wb.close()
2.2 获取table数据
在网页上看到类似图下的表格内容时,可以在界面点击F12
唤出页面开发者模式,可以看到表格在HTML
中的标签为<table>
,以及在表格中<tr>
标签是表格的行, <td>
标签是表格的列,我们只需要找到<table>
标签,将表格内的行列内容以此读取并导出到Excel中或输出即可。
def get_table_data():
#获取表格
table = driver.find_element(By.XPATH, "//*[@id=\"content\"]/table")
# 获取所有行
rows = table.find_elements(By.TAG_NAME, "tr")
# 行索引
row_index = 1
# 遍历所有行以及每行中的列
for row in rows:
# 获取所有列
cells = row.find_elements(By.TAG_NAME, "td")
# 列索引
col_index = 1
for cell in cells:
# 写入每个格子的内容到Excel表格
sheet.range((row_index, col_index