我需要使用 VBA 从 HTML 中提取某些信息。
这是我试图单独提取位置信息的 HTML。
<dl id="headline" class="demographic-info adr">
<dt>Location</dt>
<dd>
<span class="locality">
Dallas/Fort Worth Area
</span>
</dd>
<dt>Industry</dt>
<dd class="industry">
Higher Education
</dd>
在我的 excel VBA 中,打开网页后,我使用以下代码提取信息。
Dim openedpage as String
openedpage = iedoc1.getElementById("headline").innerText
但是,我得到的信息是,
地点达拉斯/沃斯堡地区工业高等教育
我只需要提取,
达拉斯/沃斯堡地区 作为输出。
最佳答案
试试:iedoc1.getElementById("headline").getElementsByTagName("span")(0).innerText
你得到了所有额外的文本,因为这有点像你所要求的,父元素的 innerText ,它是它里面的所有东西。
上面的代码获取“headline”元素的内容,然后在其中找到所有“span”标签。查看返回的列表,它选择第一个实例并返回 innerText。
更新
我似乎总是把索引基数弄错,1
在我的示例中应该是 0
关于Excel getElementById 提取跨度类信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16618799/