.Click action ничего не делает - IE Simulation
Я пытаюсь смоделировать взаимодействие с Google через приложение IE и пройти через 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
Любой совет о том, что я делаю неправильно, был бы великолепен!
1 ответ
Решение
Вы можете избавиться от своего For...Next
зациклите внизу и замените его следующим, чтобы нажать кнопку:
doc.forms(0).submit
0 можно изменить на другое число (например, 1 или 2), чтобы нажать на другую кнопку. Если на странице есть несколько кнопок, на которые можно щелкнуть, потребуется несколько проб и ошибок, чтобы узнать, какое число соответствует кнопке, на которую вы хотите нажать.