Excel VBA - XMLHTTP:如何引用没有ID的按钮,只有名称

时间:2017-06-23 08:40:52

标签: html vba excel-vba xmlhttprequest getelementbyid

我一直在尝试使用Excel VBA登录网站

用户名和密码字段可以正常使用

这是点击该按钮的按钮

该按钮没有“ID”而是名称

参见图片:image

见高亮显示的行

Dim siteDoc As Object
Set siteDoc = appIE.document

   siteDoc.getElementById("xName").Value = "user"
   siteDoc.getElementById("xPassword").Value = "password"
   siteDoc.getElementById("loginbutton").Click

我在siteDoc.getElementById("loginbutton").Click

上收到了运行时424对象必需错误

编辑: 在inspect元素'Console'中,它返回node list

编辑:

什么有效:

Set buttonObject = siteDoc.getElementsByName("loginbutton")
For Each btnObj In buttonObject
    btnObj.Click
Next btnObj

1 个答案:

答案 0 :(得分:0)

你可以找到按钮的集合(类名"按钮")并循环直到你得到name属性" loginbutton"

  1. 分配IHTMLElementCollection(Visitor::visit(Derived2)

  2. 循环访问Visitor::visit(Derived2&)对象以查找登录按钮 - 您的整个代码将如下所示:

    子示例()

    Set Buttons = doc.getElementsByClassName(" button")

    按钮中的每个oElement     如果oElement.getAttribute(" name")=" loginbutton"然后         '这个oElement就是你的按钮,所以你的行动就在这里         ' ........     万一 下一步

    End Sub

  3. Set Buttons= doc.getElementsByClassName("button")Buttons声明为对象