如果存在多个值相同的name属性,直接填表的话,只会填第一个。
比如
<input type=hidden name=email value=''>
<input type=text name=email size=30 maxlength=50>
虽然可以通过数组得到第二个,但不同的网页不一定每次都是第二个。我想得到所有name的值是email的标签,再判断所在标签的type属性为text的才填表。

解决方案 »

  1.   

    '    Dim i As Long, j As Long
    '    j = WebBrowser1.Document.getElementsByTagName("input").Length - 1
    '
    '    Dim aa As Object
    '    For i = 0 To j
    '        Set aa = WebBrowser1.Document.getElementsByTagName("input")(i)
    '        If aa.Type = "text" And aa.Name = "email" Then
    '            aa.Value = "XX" 
    '        End If
    '    Next
      

  2.   

    得到所有name的值是email的标签的方法是:
    set xx=WebBrowser1.Document.getElementsByName("email")
      

  3.   

    谢谢,有一些小错误,但总体是对的。
    '    Dim i As Long, j As Long
    '    j = WebBrowser1.Document.getElementsByTagName("email").Length - 1
    '
    '    Dim aa As Object
    '    For i = 0 To j
    '        Set aa = WebBrowser1.Document.getElementsByTagName("email")(i)
    '        If aa.Type = "text"  Then  aa.Value = "XX" 
    '      '    Next