You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python Selenium自动提取网页表格内容并保存至CSV/Excel

实现方法

前置修正

你现有代码存在多处语法拼写错误,先统一修正:

  • 所有web driver拼接为webdriver,Chrome Driver Manager拼接为ChromeDriverManager
  • find_element_by_x path修正为find_element(By.XPATH, xxx),Selenium 4.0+已弃用旧的find_element_by_*系列API,需要额外导入By类
  • 不需要点击原代码里的下载按钮,直接提取表格内容即可

核心实现逻辑

  1. 提交查询后定位表格的首行元素
  2. 提取首行所有单元格的文本内容
  3. 调用Python内置csv模块将内容写入CSV文件

完整可运行代码

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time
import csv

# 初始化浏览器
options = webdriver.ChromeOptions()
# 可选配置:如果不需要显示浏览器可以加无头模式
# options.add_argument("--headless=new")
web = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
web.get('http://ts.vcccms.in/CCMSPDI/FindLogs/Index')
time.sleep(4)

# 输入设备ID提交查询
device_id = "slcs010928"
div_id = web.find_element(By.XPATH, "/html/body/div[2]/div[1]/form/div/div[1]/div[1]/div/input")
div_id.send_keys(device_id)
time.sleep(4)

submit = web.find_element(By.XPATH, "/html/body/div[2]/div[1]/form/div/div[1]/div[2]/div/button")
submit.click()
time.sleep(4)

# 定位表格第一行,注意这里的XPATH需要和你页面实际表格结构匹配,如果你页面表格的XPATH不同可以自行修改
# 示例是假设表格tbody下第一个tr就是数据首行
first_row = web.find_element(By.XPATH, "/html/body/div[2]/div[1]/form/div/div[2]/div/section/div/div/div/div/div/table/tbody/tr[1]")
# 提取所有单元格内容
row_data = [td.text.strip() for td in first_row.find_elements(By.TAG_NAME, "td")]

# 写入CSV文件
with open("table_first_row.csv", "w", encoding="utf-8-sig", newline="") as f:
    writer = csv.writer(f)
    # 如果需要先写表头可以先写表头行,不需要的话直接写数据行
    # writer.writerow(["列1名称", "列2名称", "列3名称"])
    writer.writerow(row_data)

web.close()

注意事项

  • 如果表格加载不稳定,可将固定time.sleep替换为Selenium的显式等待,避免元素未加载就报错
  • 代码中表格首行的XPATH需要根据你实际页面的DOM结构调整,如果表格有id属性,优先用id定位,稳定性远高于全路径XPATH

内容的提问来源于stack exchange,提问作者user16244517

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:36:03