使用VBA在HTML中查找元素

时间:2016-12-09 17:49:06

标签: html excel vba excel-vba

我一直在尝试使用VBA来完成我在Excel中的一些工作更容易,到目前为止,它已经很棒..但是目前我有这两个元素我必须从HTML文档中抓取我不能用于我的生活弄清楚:

首先,这是我目前的代码:

Enum READYSTATE
     READYSTATE_UNINITIALIZED = 0
     READYSTATE_LOADING = 1
     READYSTATE_LOADED = 2
     READYSTATE_INTERACTIVE = 3
     READYSTATE_COMPLETE = 4
End Enum

Public Sub GetData()

    Site = InputBox("Enter Website Link ", "Enter Product Link")

    Dim ie As InternetExplorer

    Dim html As HTMLDocument

    Set ie = New InternetExplorer
    ie.Visible = False
    ie.navigate Site

    Do While ie.READYSTATE <> READYSTATE_COMPLETE
    Application.StatusBar = "Trying to go to Product Page..."
    DoEvents
    Loop

    Set html = ie.document

    Set ie = Nothing
    Application.StatusBar = ""

    Dim Title As String
    Dim Description As String
    Dim Vendor As String
    Dim Image As String
    Dim PType As String    

    Vendor = ???
    Image = ???
    Title = html.getElementsByClassName("name")(0).innerText
    Description = html.getElementsByClassName("specs block")(0).outerHTML
    PType = html.getElementsByClassName("kind")(0).innerText

    Cells(ActiveCell.Row, 2) = Title
    Cells(ActiveCell.Row, 3) = Description
    Cells(ActiveCell.Row, 4) = Vendor
    Cells(ActiveCell.Row, 5) = PType


End Sub

我正在寻找的是Vendor变量(名为&#34;品牌&#34;下面)以及Image链接,这里是显示值的HTML片段:

  <meta itemprop="brand" content="Intel" />
  <meta itemprop="image" content="http://ecx.images-amazon.com/images/I/510BosCAMcL.jpg" />

该行&#34;内容&#34;是我正在寻找的。

任何帮助将不胜感激,谢谢!

(PS.HTML来自此链接:https://pcpartpicker.com/product/W67wrH/intel-cpu-bx80646g1820

1 个答案:

答案 0 :(得分:1)

由于您正在尝试获取所有元素元素,因此您可以循环访问这些元素并通过检查itemProp字符串来获取品牌和图像

编辑:您似乎已从您的问题中删除了元元素行。

N+1