使用VBA从HTML获取类名称标记

时间:2014-10-31 20:38:08

标签: html excel vba excel-vba

我正在尝试使用vba从以下网站的源代码中的标记中获取内部文本:

http://www.amazon.com/gp/node/index.html?ie=UTF8&marketplaceID=ATVPDKIKX0DER&me=A1A79B9FF9GB33&merchant=A1A79B9FF9GB33&redirect=true

类或标记或任何名为span class="nav-search-label的内容。

enter image description here

我认为使用getElementsByClassName可以实现这一点。代码执行,但不会带来任何回报。如何识别这些标签/ id /类名称的确切措辞/它们可能是什么。这些标签的源代码有破折号和空格,因此在要求vba获取元素时很难得到确切的字符串放入引号。

Sub RunNewModule()

Dim ie As InternetExplorer
Dim html As HTMLDocument
Dim sellerid
Dim name
Dim sellername

Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = False
ie.Navigate "http://www.amazon.com/gp/node/index.html?ie=UTF8&marketplaceID=ATVPDKIKX0DER&me=A2P5I4NW0QQAX1&merchant=A2P5I4NW0QQAX1&redirect=true"

Do While ie.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop

Set html = ie.Document
Set ie = Nothing

Cells.Clear
Range("A3").Value = "Seller Name"

Set sellername = html.getElementsByClassName("nav-search-label")

name = 4
For Each sellerid In sellername
Range("A" & name) = sellerid.innerText
name = name + 1
Next sellerid

End Sub

0 个答案:

没有答案