Excel getElementById 提取跨度类信息

标签 excel vbscript vba

我需要使用 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/

相关文章:

windows - 将参数从 vbscript 传递到批处理文件

excel - VBA:IF 语句中的意外行为。

javascript - 使用 JavaScript 在 Excel 加载项中以编程方式创建自定义函数

excel - 如何从excel单元格中的多行字符串中提取电子邮件和姓名

vbscript - 使用 VBScript Err 对象检查错误

ms-access - VBA/Access 2007 中的 If [ComboBox] Is Null 语句

c# - Excel 数据透视表 : move value fields from row to column

javascript - 客户端 &lt;script&gt; 标记中服务器端经典 ASP 代码的问题

vba - 从excel中的列中获取前 'n'值

vba - 宏仅在事件工作表中打印,而不是在引用工作表中打印