首页 > 解决方案 > 无法单击网络表单中的按钮

问题描述

我似乎找不到点击网页按钮的方法,请参见下面的 html。这是id="item_knopBer2"我试图获得点击。我花了几个小时尝试我可以在这里找到的所有变体,例如:FireEvent,,但到目前为止,我完全沮丧地注意到工作querySelectorAllquerySelector

拜托,有人我在这里想念什么?

<span class="PrintHide spBerB tooltipL" id="item_knopBer2" title="knopberekening" style="padding-right: 14px; ">
                                    <input class="Knopber" onclick="wisSalSc(); this.className = 'KnopberActive'; javascript: ProformaVerslag('B');" 
                                    onmouseover="this.className='KnopberHover'" onmouseout="this.className='Knopber'" type="button" value='Berekenen'/>
</span>

标签: excelvba

解决方案


这是一个跨度而不是一个按钮。Fireevent 不会再工作了。如果它应该与事件一起工作,您必须调度一个事件。尝试这个:

Dim nodeItem_knopBer2 As Object

'Your code
'...

On Error Resume Next
Set nodeItem_knopBer2 = browser.document.getElementByID("item_knopBer2")
On Error GoTo 0

If Not nodeItem_knopBer2 Is Nothing Then
  Call TriggerEvent(browser.document, nodeItem_knopBer2, "click")
  'Maybe
  'Call TriggerEvent(browser.document, nodeItem_knopBer2, "onClick")
End If

'Rest of your code
'...

通过此过程,您可以移交所需的事件:

Private Sub TriggerEvent(htmlDocument As Object, htmlElementWithEvent As Object, eventType As String)

  Dim theEvent As Object

  htmlElementWithEvent.Focus
  Set theEvent = htmlDocument.createEvent("HTMLEvents")
  theEvent.initEvent eventType, True, False
  htmlElementWithEvent.dispatchEvent theEvent
End Sub

如果这不起作用,您必须发布 url 和您的宏代码。


推荐阅读