Html ExcelVBA-XMLHTTP:如何引用没有ID、只有名称的按钮

Html ExcelVBA-XMLHTTP:如何引用没有ID、只有名称的按钮,html,vba,excel,xmlhttprequest,getelementbyid,Html,Vba,Excel,Xmlhttprequest,Getelementbyid,我一直在尝试使用Excel VBA登录网站 用户名和密码字段工作正常 这是给我带来问题的点击按钮 按钮没有“ID”而只有名称 如图所示: 请参见突出显示的行 Dim siteDoc As Object Set siteDoc = appIE.document siteDoc.getElementById("xName").Value = "user" siteDoc.getElementById("xPassword").Value = "password" siteDoc.

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

用户名和密码字段工作正常

这是给我带来问题的点击按钮

按钮没有“ID”而只有名称

如图所示:

请参见突出显示的行

Dim siteDoc As Object
Set siteDoc = appIE.document

   siteDoc.getElementById("xName").Value = "user"
   siteDoc.getElementById("xPassword").Value = "password"
   siteDoc.getElementById("loginbutton").Click
我在以下位置收到运行时424对象必需错误:
siteDoc.getElementById(“登录按钮”)。单击

编辑: 在检查元素“控制台”中,它返回一个
节点列表

编辑:

工作内容:

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

您可以找到按钮的集合(类名为“button”)并循环,直到获得名称属性“loginbutton”

  • 分配IHTMlementCollection(
    设置按钮=doc.getElementsByClassName(“按钮”)

  • 循环通过
    按钮
    对象查找登录按钮-您的整个代码如下所示:

    子示例()

    设置按钮=doc.getElementsByClassName(“按钮”)

    对于按钮中的每个oElement 如果oElement.getAttribute(“name”)=“loginbutton”,则 “这个元素是你的按钮,所以你的动作在下面 '........ 如果结束 下一个

    端接头


  • oElement
    按钮
    声明为对象

    迭代由
    返回的集合。getElementsByTagName(“按钮”)
    并检查
    名称
    属性。这个问题已经被问了很多次了。例如:抱歉,我似乎无法更改格式以将我的代码显示为代码!