Vba 我无法检索网页上的信息

Vba 我无法检索网页上的信息,vba,extract,Vba,Extract,原理是:加载一个页面并恢复标签a中包含的信息 以下是源代码: <div class="w3-row w3-white w3-padding w3-hide-medium w3-hide-small" style="margin-top:5px;"> <div class="w3-col s5 notranslate" style="margin:4px 0 6px 0"> <a class="w3schools-lo

原理是:加载一个页面并恢复标签a中包含的信息

以下是源代码:

    <div class="w3-row w3-white w3-padding w3-hide-medium w3-hide-small" style="margin-top:5px;">

        <div class="w3-col s5 notranslate" style="margin:4px 0 6px 0">
            <a class="w3schools-logo" href="//www.w3schools.com">w3schools</a>
        </div>
  </div>

您收到的错误是因为
Htable.getElementsByTagName
返回元素的集合,而该集合没有方法
maTable.getElementsByClassName
。您需要引用集合中的第一项(使用
maTable(0)
),然后可以访问
href
innertext
,如下所示:

Private Function CreerNavigateur()
Dim IE As Object
Dim oDoc As Object
Dim Htable, maTable, hyper As Object
Dim text As String

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate "www.w3schools.com"
WaitIE IE
    ' Page chargée, on continue
    Set oDoc = IE.Document
    Set Htable = oDoc.getElementsByTagName("div")(1)
    MsgBox Htable.innerhtml
    Set maTable = Htable.getElementsByTagName("a")
    MsgBox maTable(0).href
    MsgBox maTable(0).innertext
 IE.Quit
    'On libère les variables
    Set IE = Nothing
    Set IEDoc = Nothing
End Function

您收到的错误是因为
Htable.getElementsByTagName
返回元素的集合,而该集合没有方法
maTable.getElementsByClassName
。您需要引用集合中的第一项(使用
maTable(0)
),然后可以访问
href
innertext
,如下所示:

Private Function CreerNavigateur()
Dim IE As Object
Dim oDoc As Object
Dim Htable, maTable, hyper As Object
Dim text As String

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate "www.w3schools.com"
WaitIE IE
    ' Page chargée, on continue
    Set oDoc = IE.Document
    Set Htable = oDoc.getElementsByTagName("div")(1)
    MsgBox Htable.innerhtml
    Set maTable = Htable.getElementsByTagName("a")
    MsgBox maTable(0).href
    MsgBox maTable(0).innertext
 IE.Quit
    'On libère les variables
    Set IE = Nothing
    Set IEDoc = Nothing
End Function