按标签名称VBA获取元素

时间:2014-02-12 22:44:56

标签: html vba

我正在尝试从以下HTML源代码中获取值this_is_the_text_i_need_to_get

<div class="blubrBoxContent">
     <input id="url" type="text" name="__url" 
             value="this_is_the_text_i_need_to_get">
</div>

这是我到目前为止所获得的VBA代码:

Set TDelements = HTMLdoc.getElementsByTagName("div")

For Each TDelement In TDelements
    If TDelement.ID = "url" Then
         MyVar = TDelement.innerText("Value")
    End if
Next

问题是我不能让代码进入If语句。看起来ID不是TDelement的属性。

1 个答案:

答案 0 :(得分:1)

你的HTML没有问题(至少,没有问题,因为大多数浏览器可以很好地处理格式错误的HTML,因为那里有很多)

添加对Microsoft HTML Object Library

的引用
Sub Tester()

    Dim doc As New HTMLDocument, els, el

    doc.body.innerHTML = "<div class='bluBrdrBox1'> <div class='blubr1ct'></div>" & _
                    "<div class='blubrBoxContent'><input id='url' type='text' " & _
                    "name='__url' value='bit.ly/1dJ17Yg'></div>"
                    ;
    Set els = doc.getElementsByTagName("input")
    For Each el In els
        Debug.Print el.ID, el.Value
    Next el

End Sub