需要使用Excel XMLHTTP获取子元素的帮助

我可以成功地获得所有的“游戏”,但不能使用每个循环获得游戏细节。 我总是得到这个错误

object doesn't support this property or method 

在这一行

  Debug.Print game.getElementsByClassName("date").innerText 

以下是我的代码,

 Dim doc As HTMLDocument Set doc = New HTMLDocument With CreateObject("MSXML2.XMLHTTP") .Open "GET", "http://foo.bar" .send Do: DoEvents: Loop Until .readyState = 4 doc.body.innerHTML = .responseText .abort End With Set games = doc.getElementsByClassName("match") For Each game In games Debug.Print game.getElementsByClassName("date").innerText Next game 

getElementsByClassName方法是一个集合。 如果要引用集合中的单个项目,则必须提供的最小值是从零开始的索引的整数。

 Debug.Print game.getElementsByClassName("date")(0).innerText 

这将在游戏元素(它是集合本身的一部分)中显示具有一个date类的第一个元素。

或者,循环通过它们。

 for el = 0 to game.getElementsByClassName("date").length - 1 Debug.Print game.getElementsByClassName("date")(el).innerText next el 

.Length是一个基于1的计数,因此您需要减去1以匹配从零开始的索引。