Python Selenium遍历网页表格写入Excel:死循环及写入问题求助
问题解决:遍历网页表格并写入Excel
死循环原因分析
你第一段代码的问题出在嵌套循环逻辑错误:
- 外层遍历每个
sampleTable表格,内层却循环TableCount次(表格的总数),等于每个表格都要往Excel的1到TableCount行重复写一遍,不仅会覆盖之前的内容,还做了大量无意义的重复操作,这就是你觉得陷入死循环的原因。
正确写法:表格与Excel行一一对应
要实现每个表格的文本依次写入Excel单元格,只需要给每个表格分配对应的行号即可,用enumerate追踪行号最方便:
from openpyxl import Workbook # 假设driver已完成初始化 Tables = driver.find_elements('class name', 'sampleTable') wb = Workbook() ws = wb.active # 遍历表格,enumerate从1开始对应Excel的行号 for row_num, table in enumerate(Tables, start=1): ws.cell(row=row_num, column=1).value = table.text wb.save("excel.xlsx")
关键说明
- 用
enumerate(Tables, start=1)直接获取从1开始的行号,每个表格对应一行,避免手动维护计数器出错。 - 不需要单独计算
TableCount,enumerate会自动遍历所有表格,逻辑更简洁高效。 - 确保已正确导入
openpyxl(如果用其他Excel操作库,核心逻辑一致:一个表格对应一行的映射关系)。
内容的提问来源于stack exchange,提问作者Noctash
相关产品推荐
相关产品推荐

