无法获得特定的数据点从雅虎财务拉到Excel?

我试图从雅虎财经页面拉一个非常具体的数字,但我陷入困境。 我试图从中提取这个信息的链接是:

http://finance.yahoo.com/q/hp?s=AAPL+Historical+Prices

我有兴趣获得在该页面顶部附近列出的111.31号码以粗体显示。 我已经写了下面的代码来提取这个信息,但是每次运行它,它都会说“对象不支持这个属性或方法”。 我怀疑错误在于我使用getElementsByClassgetElementsById来提取数据。

  Sub GetQuote() Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") With IE .Visible = True .navigate "http://finance.yahoo.com/q/hp?s=AAPL+Historical+Prices" Do While .busy: DoEvents: Loop Do While .ReadyState <> 4: DoEvents: Loop With .document Application.Wait (Now + #12:00:05 AM#) Sheets("Sheet1").Range("A3") = .getElementsByClass("time_rtq_ticker").getElementsById("yfs_184_aapl").innerText End With End With Set IE = Nothing End Sub 

你们都可以请看看,让我知道我错了什么地方,我怎么能解决这个问题?

getElementsByClassName方法返回一个或多个对象的集合。 您需要提供集合中元素的索引(即位置 )。 尝试,

 Sheets("Sheet1").Range("A3") = .getElementsByClass("time_rtq_ticker")(0).getElementById("yfs_184_aapl").innerText 

实际上, yfs_184_aapl id在yfs_184_aapl是唯一的。 你只需要,

 Sheets("Sheet1").Range("A3") = .getElementById("yfs_184_aapl").innerText 

请注意, getElementById方法是单数,而不是getElementsById