我需要使用 vba 从网上抓取一些信息。这是我的代码的摘录。没关系,但是该站点有 2 个同名的类。所以我的代码只写入最后一个值。我想要那个:
Sheets("01").Range("DW"& number) = source.getAttribute("data-id")
仅写入在站点上找到的类“sample”的第一个值。
我该怎么办? 谢谢
With http
.Open "GET", site, False
.send
html.body.innerHTML = .responseText
End With
For Each source In html.getElementsByClassName("sample")
Sheets("01").Range("DW" & number) = source.getAttribute("data-id")
Next source
Next number
最佳答案
使用querySelector
可以提高效率,它只返回第一个匹配项,而不是整个集合(或nodeList)
Sheets("01").Range("DW" & Number) = html.querySelector(".sample").getAttribute("data-id")
关于html - 抓取html源vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56496603/