我是新手,但我正在练习,在我看来,登录我学院的网站应该是世界上最容易的事情。对?好吧,这让我发疯了。
具体来说,程序失败了
page.Document.getElementById("edit-name").Value = 1234
运行时错误424“需要对象”
另外,当我输入“page”时,我不确定这是否相关。 VBA编辑器有助于提供选项列表,我选择了Document。当我键入第二个“。”得到“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
答案 0 :(得分:1)
具体来说,程序在page.Document.getElementById(&#34; edit-name&#34;)失败。值= 1234
该行没有错。
我能想到的一个原因是你的url
循环没有被执行。为避免这种情况,请直接导航到相关的Sub Sample()
Dim sUrl As String: sUrl = "https://www.actuaries.org.uk/user"
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate sUrl
Do While ie.readystate <> 4: DoEvents: Loop
ie.Document.getElementById("edit-name").Value = 1234
End Sub
。这个修剪版本适合我。
size_t