使用Excel VBA按类名查询div元素

我想要获取数据到具有特定类名的div元素的Excel,如:

<div class="myClass"> <span>Text1</span> <span>Text2</span> </div> 

我的VBA代码:

 Sub GetData() Dim oHtml As HTMLDocument Dim oElement As Object Set oHtml = New HTMLDocument With CreateObject("WINHTTP.WinHTTPRequest.5.1") .Open "GET", "http://www.example.com/", False .send oHtml.body.innerHTML = .responseText End With For Each oElement In oHtml.getElementsByClassName("myClass") Debug.Print oElement.Children(0).src Next oElement End Sub 

这是返回错误:运行时错误:'438':对象不支持此属性或方法。 该错误是行Debug.Print …

我已经激活了以下参考:Microsoft HTML对象库Microsoft Internet控件

我希望能够select第一个或第二个跨度上的文本并将其粘贴到单元格上,我该怎么做?

这对我工作:

 Dim oHtml As HTMLDocument Dim oElement As Object Set oHtml = New HTMLDocument With CreateObject("WINHTTP.WinHTTPRequest.5.1") .Open "GET", "http://www.example.com", False .send oHtml.body.innerHTML = .responseText End With Set dados = oHtml.getElementsByClassName("myClass")(0).getElementsByTagName("span") i = 0 For Each oElement In dados Sheets("Sheet1").Range("A" & i + 1) = dados(i).innerText i = i + 1 Next oElement 

以下是我过去的做法:

 Set oElement = oHtml.getElementsByClassName("myClass") i = 0 While i < oElement.Length Debug.Print oElement(i).innerText i = i + 1 Wend 

你可能需要innerHtml呢?