如何使用VBA检查表标记中的元素

如何使用VBA检查表标记中的元素,vba,web-scraping,Vba,Web Scraping,下面是我的代码,我无法在用户名和密码字段中输入值,我没有元素Id,但是我有元素名称,请任何人帮助我解决我的错误。当我运行这段代码时,我也没有收到任何错误消息 Dim HTMLDoc As HTMLDocument Dim MyBrowser As InternetExplorer Sub Login() Dim MyHTML_Element As IHTMLElement Dim MyURL As String On Error GoTo Err_Clear M

下面是我的代码,我无法在用户名和密码字段中输入值,我没有元素Id,但是我有元素名称,请任何人帮助我解决我的错误。当我运行这段代码时,我也没有收到任何错误消息

Dim HTMLDoc As HTMLDocument
Dim MyBrowser As InternetExplorer

Sub Login()
    Dim MyHTML_Element As IHTMLElement
    Dim MyURL As String
    On Error GoTo Err_Clear
    MyURL = "#################"
    Set MyBrowser = New InternetExplorer
    MyBrowser.Silent = True
    MyBrowser.navigate MyURL
    MyBrowser.Visible = True

    Do
    Loop Until MyBrowser.readyState = READYSTATE_COMPLETE

    Set HTMLDoc = MyBrowser.document
    HTMLDoc.getElementsByName("BrandContext").selectedIndex = 1
    HTMLDoc.getElementsByName("UserId")(0).Value = "Test"
    HTMLDoc.getElementsByName("Password")(0).Value = "Test"
    HTMLDoc.all.Password.Value = "abc+123" 'Enter your password here

    For Each MyHTML_Element In HTMLDoc.getElementsByTagName(“input”)
        If MyHTML_Element.Type = “submit” Then MyHTML_Element.Click: Exit For
    Next

    Err_Clear:
    If Err <> 0 Then
        Err.Clear
        Resume Next
    End If
End Sub
这是我的源代码

    <input name="Key" type="hidden" value="u126**80285038-1536**4880">
<select tabindex="1" name="BrandContext">
      
      <option value="**"> **</option>
      
      <option value="**"> **</option>
      
      <option value="**"> ****</option>
      
      <option value="**" selected=""> **</option>
      
      <option value="**"> **</option>
      
      <option value="**"> **</option>
      
   </select>
            <td>
        <input tabindex="1" name="UserId" size="9" maxlength="9" value=""> </td>

提到运行代码时发生的事情总是很有用的。顺便说一句,您缺少HTMLDoc.getElementsByNameBrandContextHi Tim中的0,谢谢您的回复,我没有收到任何错误消息。是的,我也尝试了0。我选择用户名和密码的方式是正确的。如果您注释掉错误处理程序呢?这基本上相当于在错误恢复下一步,并把0-它应该在那里像其他行。我尝试,删除与错误验证相关的代码,现在当我运行代码,它打开URL,我还收到错误消息Automation error接口未知。错误是否在代码中的某个特定位置?在运行代码时,提及发生的情况总是很有用的。顺便说一句,您缺少HTMLDoc.getElementsByNameBrandContextHi Tim中的0,谢谢您的回复,我没有收到任何错误消息。是的,我也尝试了0。我选择用户名和密码的方式是正确的。如果您注释掉错误处理程序呢?这基本上相当于在错误恢复下一步,并把0-它应该在那里像其他行。我尝试,删除与错误验证相关的代码,现在当我运行代码,它打开URL,我也得到错误消息自动化错误接口是未知的。错误是在您的代码中的某个特定位置?