我对此很陌生,但我正在练习,在我看来,登录我研究所的网站应该是世界上最简单的事情。对?呃,这让我疯狂。使用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”元素不存在或不是“输入”标签。问题可能还在于该页面尚未完全加载。尝试调试代码(在错误的行上放置一个断点)并查看它是否有效。 –