Я пытаюсь использовать VBA для навигации по IE, чтобы найти некоторую информацию для меня.Однако после того как код написан и я его запускаю.Я обнаружил, что все хорошо перед тем, как нажать href, но если я использую «F8» для выполнения кода один за другим, и это работает.К сожалению, я не нашел подобной ситуации на этом форуме.Может ли кто-нибудь дать мне намеки?Спасибо
Sub GetData()
Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMLInput As MSHTML.IHTMLElement
Dim HTMLButton As MSHTML.IHTMLElement
Dim HTMLAllhref As MSHTML.IHTMLElementCollection
studentid = 12345678
Set IE = New InternetExplorerMedium
IE.Visible = True
IE.Navigate "https://xxx.xxx"
Do While IE.ReadyState <> READYSTATE_COMPLETE
Loop
Set HTMLDoc = IE.Document
Set HTMLInput = HTMLDoc.getElementById("abcd")
HTMLInput.Focus
HTMLInput.FireEvent("onchange")
HTMLInput.Value = studentid
Set HTMLButton = HTMLDoc.getElementById("submit")
HTMLButton.Click
Приведенная выше часть работает правильно, но следующая часть работает, только если я использую «F8» для выполнения одного за другим
Set HTMLAllhref = HTMLDoc.GetElementsByTagName ("a")
For Each link in HTMLAllhref
If InStr(link.innerText, studentid) Then
IE.Navigate link.href
Exit For
End If
Next
End Sub