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

如何使用Excel VBA从Java网页同class动态表格中提取Version字段数据

解决方法

核心逻辑是放弃依赖元素索引的定位方式,改为通过文本特征匹配定位字段,完全不受block-indent区块内表格数量变化影响。

实现代码

Dim innerContent As Object, literalTds As Object, td As Object
' 获取根容器
Set innerContent = ie.document.getElementById("InnerContent")
' 获取容器内所有td元素
Set literalTds = innerContent.getElementsByTagName("td")

For Each td In literalTds
    ' 匹配Version字段标识
    If Trim(td.innerText) = "Version:" And td.className = "Literal" Then
        ' 取相邻Field单元格的显示值(当前版本03)
        Sheets("Sheetname").Range("E5") = td.NextSibling.innerText
        ' 如果需要提取旧版本号02,取title属性提取即可:
        ' Dim oldVer As String
        ' oldVer = Split(td.NextSibling.getAttribute("title"), ":")(1)
        ' oldVer = Trim(Replace(oldVer, "'", ""))
        Exit For
    End If
Next

方案说明

  • 该方法直接通过Version:文本匹配字段位置,无论前面新增多少个动态表格,都能精准定位到目标字段
  • 如果要兼容其他字段提取,只需要修改匹配的文本内容即可,比如要取Last Amended值,把匹配条件改成Trim(td.innerText) = "Last Amended:"即可
  • 相比按索引定位的方式,兼容性和稳定性提升明显,页面小范围结构调整不会导致抓取失效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:24:07