网站上的搜索按钮不会点击 VBA

Search button on website won't click VBA

我正在尝试将数据插入搜索字段,然后单击搜索按钮。我尝试了 getElementsByid("SiteSearchForm_SearchBtn")(0).ClickgetElementsByclassname("searchBtn")(0).Click

HTML:

<div class="searchBtn"><a href="#search" id="SiteSearchForm_SearchBtn">Search</a></div>

VBA 代码:

With IE
        .Visible = True
        .Navigate URL_1
        Do Until .ReadyState = 4
        DoEvents
        Loop

        Application.Wait (Now + TimeValue("0:00:02"))
            IE.Document.getelementsbyclassname("hint hint-search")(0).Value = "Eliroyal2$"
            IE.Document.getElementsByid("SiteSearchForm_SearchBtn")(0).submit

        Application.Wait (Now + TimeValue("0:00:10"))

End With

如果没有URL,我会说这行代码无法运行的原因:

IE.Document.getElementsByid("SiteSearchForm_SearchBtn")(0).submit

是双折的。

1)getElementById,不是 Elements;

2) 函数 returns 单个元素,因此您不需要使用 (0)

访问集合

如果您确定自己的 ID,请尝试:

IE.Document.getElementByid("SiteSearchForm_SearchBtn").Click

...否则请向我们提供 URL 以便我们进行故障排除。

编辑

根据您提供的 HTML 行,您无法通过 class 名称获取元素,因为您获取的元素是 <div> 元素,不支持点击事件。 实际上,默认情况下 div 没有 属性 cursor:pointer,因为它被认为是 "container"。 link,即 <a>,默认情况下是一个可点击的元素,它将您重定向到 href 地址(您想要去的地方)。

至于设置搜索字段值的那一行,相反,似乎还可以。但是您确定您不能通过唯一的 属性(例如 id)来避免更改网站的 CSS 命名可能会导致您的代码在未来?