我對此很陌生,但我正在練習,在我看來,登錄我研究所的網站應該是世界上最簡單的事情。對?呃,這讓我瘋狂。使用VBA控制IE登錄網站
具體來說,該計劃未能在 page.Document.getElementById("edit-name").Value = 1234
運行時錯誤424
而且「所需的對象」,我不知道這是相關的,當我輸入「頁」。 VBA編輯器有助於提供選項列表,並選擇「文檔」。當我輸入第二個「。」得到「page.Document」。我不會再獲得進一步的選項列表。
下面是完整的程序,並感謝所有幫助
Public Sub MyLogin()
'This uses early binding
'In menu at top of page - Tools...Reference.... Microsoft Internet Controls and Microsoft HTML Object Library must both be ticked
Dim page As InternetExplorer
Set page = New InternetExplorer
page.Visible = True
Dim MyLink As Object
'Login at Institute website
page.Navigate "http://www.actuaries.org.uk/"
Do While page.Busy Or page.ReadyState <> 4
DoEvents
Loop
For Each MyLink In page.Document.Links
If InStr(MyLink.href, "/user") Then MyLink.Click: Exit For
Next MyLink
Do While page.Busy Or page.ReadyState <> 4
DoEvents
Loop
'Are now at the login page
'Enter username, password and click
page.Document.getElementById("edit-name").Value = 1234
page.Document.getElementById("edit-pass").Value = "01/01/1977"
page.Document.getElementById("edit-submit").Click
End Sub
很難做出建議沒有得到有關HTML源。如果我不得不猜測,我會說沒有id爲「edit-name」的元素。 –
分享網頁的源HTML。 「edit-name」元素不存在或不是「輸入」標籤。問題可能還在於該頁面尚未完全加載。嘗試調試代碼(在錯誤的行上放置一個斷點)並查看它是否有效。 –