VBA - 在HTML元素中定位即时文本

时间:2016-05-30 14:37:05

标签: html excel vba excel-vba

我试图仅在以下HTML中的元素内部立即定位文本,但我使用的VBA代码也会拉动元素内的所有文本。

<a href="/eng/Balance-of-system/Fuse-and-holder/Wohner-31110.000/p/284" id="no-piece">
    90-FT017
    <span class="prod-somm-sepno"></span>
    <span id="panier_fab_284">Wohner</span>
    <span id="panier_nomanufact_284">31110.000</span>
</a>

VBA:

tdNum = 0
    If document.getElementsByClassName("prod-summ")(tdNum).getElementById("no-piece").innerText = ItemNbr Then
        Cells(cell, 2).Value = document.getElementsByClassName("prod-summ")(tdNum).getElementById("col-action").getElementsByTagName("span")(0).innerText
    Else
        tdNum = tdNum + 1
    End If

Debug.Print document.getElementById("col-action").getElementsByTagName("span").innerText将结果显示为90-FT017Wohner 31110.000

除此之外,我还得到了一个&#34;对象变量或者没有设置块变量&#34;第一个If

上的错误

1 个答案:

答案 0 :(得分:0)

文本的每个部分都在文本节点内,要阅读90-FT017,您需要在<a>元素之后立即读取文本节点:

Document.getElementById("no-piece").FirstChild.nodeValue