I';我正在尝试使用VBA来单击“a”;登录";自动登录网站的按钮
我一直在尝试使用VBA自动提交登录凭据,我可以获得要填充的用户名和密码字段,但我无法获得单击登录按钮的代码。我在这里和其他网站上找到了很多解决方案,但都没有成功。这是我的代码(我尝试过点击按钮):I';我正在尝试使用VBA来单击“a”;登录";自动登录网站的按钮,vba,internet-explorer,automation,ie-automation,Vba,Internet Explorer,Automation,Ie Automation,我一直在尝试使用VBA自动提交登录凭据,我可以获得要填充的用户名和密码字段,但我无法获得单击登录按钮的代码。我在这里和其他网站上找到了很多解决方案,但都没有成功。这是我的代码(我尝试过点击按钮): 要执行单击,只需在登录按钮元素上调用单击方法,如下所示: Call HTMLDoc.all.Logon.Click Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sleep (500) 但是,问题是,
要执行单击,只需在登录按钮元素上调用
单击方法,如下所示:
Call HTMLDoc.all.Logon.Click
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep (500)
但是,问题是,网站仅在您输入用户名和密码后才启用该按钮。如果您尝试在填写用户名和密码后立即单击该按钮,则为时过早,该按钮仍处于禁用状态,因此您需要等待片刻
要在VBA中等待,可以按如下方式导入WinAPI睡眠函数:
Call HTMLDoc.all.Logon.Click
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep (500)
然后等待给定的毫秒数,如下所示:
Call HTMLDoc.all.Logon.Click
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep (500)
组合代码:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Demo()
Dim MyURL As String
Dim MyBrowser As InternetExplorer
Dim HTMLDoc As HTMLDocument
MyURL = "https://www.oms.itradenetwork.com/secure/login/logon.cfm"
Set MyBrowser = New InternetExplorer
MyBrowser.Silent = True
MyBrowser.Navigate MyURL
MyBrowser.Visible = True
Do
DoEvents
Loop Until MyBrowser.ReadyState = READYSTATE_COMPLETE
Set HTMLDoc = MyBrowser.Document
HTMLDoc.all.UserName.Value = "MyName"
HTMLDoc.all.Password.Value = "MyPassword"
' First wait 500ms to give the webite enough time to enable the button
Sleep (500)
' then click the button
Call HTMLDoc.all.Logon.Click
End Sub
要执行单击,只需在登录按钮元素上调用单击方法,如下所示:
Call HTMLDoc.all.Logon.Click
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep (500)
但是,问题是,网站仅在您输入用户名和密码后才启用该按钮。如果您尝试在填写用户名和密码后立即单击该按钮,则为时过早,该按钮仍处于禁用状态,因此您需要等待片刻
要在VBA中等待,可以按如下方式导入WinAPI睡眠函数:
Call HTMLDoc.all.Logon.Click
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep (500)
然后等待给定的毫秒数,如下所示:
Call HTMLDoc.all.Logon.Click
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep (500)
组合代码:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Demo()
Dim MyURL As String
Dim MyBrowser As InternetExplorer
Dim HTMLDoc As HTMLDocument
MyURL = "https://www.oms.itradenetwork.com/secure/login/logon.cfm"
Set MyBrowser = New InternetExplorer
MyBrowser.Silent = True
MyBrowser.Navigate MyURL
MyBrowser.Visible = True
Do
DoEvents
Loop Until MyBrowser.ReadyState = READYSTATE_COMPLETE
Set HTMLDoc = MyBrowser.Document
HTMLDoc.all.UserName.Value = "MyName"
HTMLDoc.all.Password.Value = "MyPassword"
' First wait 500ms to give the webite enough time to enable the button
Sleep (500)
' then click the button
Call HTMLDoc.all.Logon.Click
End Sub
这个网站是用Sencha框架创建的