Html 如何通过VBA单击网页上的按钮?

Html 如何通过VBA单击网页上的按钮?,html,vba,web-scraping,Html,Vba,Web Scraping,我试图通过vba使用单击按钮,但它告诉我“对象不支持此属性或方法” 我现在的VBA代码是: IE.document.getElementByType("button").getelementByClass("qm_historyTab_GoButton").Click 按钮的HTML为: <button class="qm_historyTab_GoButton" type="submit" style="font:normal 11px tahoma,arial,helvetica,s

我试图通过vba使用单击按钮,但它告诉我“对象不支持此属性或方法”

我现在的VBA代码是:

IE.document.getElementByType("button").getelementByClass("qm_historyTab_GoButton").Click
按钮的HTML为:

<button class="qm_historyTab_GoButton" type="submit" style="font:normal 11px tahoma,arial,helvetica,sans serif;">
  <span class="qm_historyTab_GoButtonText">GO</span>
</button>
试试这个:

IE.document.getElementsByTagName("button") _
   .getelementsByClassName("qm_historyTab_GoButton")(0).Click
这两个
getXXX
方法都返回一个项目集合(即使文档中只有一个匹配项),因此要从最后一个项目中找到一个项目,以便单击它,您需要添加
(0)

编辑:如果目标是提交表单,那么这也会起作用

IE.document.getElementById("qm_historyForm_7871").submit
或者因为只有一个按钮具有该类名:

IE.document.getElementsByClassName("qm_historyTab_GoButton")(0).Click

好的,我在这个特定的实例中找到了解决方案。按钮是一种提交类型,使用HTMLInputElement发送消息

我需要做的是将“MicrosoftHTML对象库”添加到我的引用中,并利用这些特性

我必须创建发送响应的变量:

Dim htmlInput作为MSHTML.HTMLInputElement

我不知道如何单独引用这个特定元素,所以我用它的类名抓住了所有东西

IE.document.getElementsByClassName(“qm_historyTab_GoButton”)中的每个htmlInput的

如果Trim(htmlInput.Type)=“提交”,则
htmlInput。单击
退出
如果结束
下一个htmlInput

然后,我让程序对系列中的每个项目进行循环,并发送提交响应。因为这是唯一一个有类名的,所以我很幸运


总之,这就是我解决问题的方法。

getElementByType
getElementByTagName
getelementByClass(“qm_historyTab_GoButton”)
>
getelementsByClassName(“qm_historyTab_GoButton”)(0)
我尝试过使用它,但不起作用。为了确保我没有搞砸,我附加了我的代码:
IE.document.getelementByClass(“qm_historyTab_GoButton”)(0)。正如我在评论中指出的,单击
getelementByClass
不是一件事。很抱歉,我是StackOverFlow的新手,所以我没有真正理解你的意思。“>>”的意思是什么?现在我的代码是:
IE.document.getelementByTagName(“按钮”).getElementsByCassName(“qm_historyTab_GoButton”)(0)。单击它仍然会给我相同的错误消息Yes“>>”表示“更改此项”,但这只是我个人的速记,可能不像我想象的那么明显。。。另外,我在评论中输入了一个错误,应该是
getElementsByTagName
。下面是我的答案,但仍然不起作用。它告诉我“运行时错误'408':对象不支持属性或方法”。我使用的是您提供的确切线路<代码>IE.document.getElementsByTagName(“按钮”)\GetElementsByCassName(“qm_historyTab_GoButton”)(0)。单击
网站将关闭。按钮是:
GO
这是一种提交类型,因此单击功能无法工作,但我不知道