首页 > 解决方案 > 获取 HTML 元素的值

问题描述

我在这里有这段代码,它应该在这个 Reddit 页面上找到一个 HTML 元素,然后从中返回一个值,然后将它存储在一个从零开始的一维数组中。(我有一个名为 IE 的 Internet Explorer 实例)

Dim awardelements As Object
Dim awards As String

    awardelements = IE.document.querySelector("#siteTable > div")(0)
    awards = awardelements.getAttribute("data-gildings")
    results(i + 1, 14) = awards

所以我试图获得“数据镀金”的价值(帖子获得的奖项数量),但我遇到了一个自动化错误awardelements = IE.document.querySelector("#siteTable > div")(0)。我不确定我是否可以像 tbh 那样使用 JS querySelector,所以这可能是问题所在。如果有人能指出我正确的方向,我将不胜感激!

谢谢^^

标签: javascripthtmlexcelvbaweb-scraping

解决方案


querySelector返回单个节点而不是您可以索引的集合。并且您需要如上所述的 Set 关键字。

Dim awards As Object, awardCount As String

Set awards = ie.document.querySelector("#siteTable > div")
awardCount = awards.getAttribute("data-gildings")

推荐阅读