。点击动作不做任何事 - IE模拟

时间:2017-04-13 16:30:04

标签: vba excel-vba internet-explorer automation simulation

我正在尝试通过IE应用程序模拟与Google的交互,并通过DOM来获取我需要的类,一切都很好,踩着代码,但.Click行动除外导致崩溃,但它没有做任何事情(页面无法导航) - 下面的HTML代码和屏幕截图:

Option Explicit

Private Sub Test_Automation()
Dim ie, doc, eInput, eButton, eButtons As Object
Dim sURL, sTest As String

Set ie = CreateObject("internetexplorer.application")
sURL = "https://www.google.co.uk/?gfe_rd=cr&ei=IpDvWK72LsjCaJCbjKAL&gws_rd=ssl"
sTest = "Test"

With ie
    .Visible = True
    .Navigate sURL
End With

Do While ie.Busy Or ie.readyState <> 4
    DoEvents
Loop

Set doc = ie.document

Set eInput = doc.getElementByid("lst-ib")
Set eButtons = doc.getElementsByTagName("input")

eInput.Value = sTest

For Each eButton In eButtons
    If (eButton.getattribute("name") = "btnK") Then
        eButton.Click
        Exit For
    End If
Next

End Sub

enter image description here

任何关于我做错的建议都会很棒!

1 个答案:

答案 0 :(得分:2)

您可以摆脱底部的For...Next循环并将其替换为单击按钮:

doc.forms(0).submit

可以将0更改为其他数字(例如1或2)以单击其他按钮。如果页面上有多个可以单击的按钮,则只需要一些试验和错误就可以找出与您要点击的按钮匹配的数字。