我更加熟悉Excel宏(VBA)并寻找一种方法来自动化IE登录网站并进入某个页面。 网站网址:https://www.mast-technicalservices.com/ecp/index2.jsp,需要填写登录详细信息,然后点击“继续”。
Sub WebsiteLogIn()
Dim nURL As String
Dim UNElementID As String
Dim UserName As String
Dim PWElementID As String
Dim Password As String
Dim SIElementID As String
Set LoginData = ThisWorkbook.Sheets("Sheet1")
Set nURL = "https://www.mast-technicalservices.com/ecp/index2.jsp"
Set UNElementID = "ecp_param_userId"
Set UserName = LoginData.Cells(1, "B").Value
Set PWElementID = "ecp_param_password"
Set Password = LoginData.Cells(2, "B").Value
Set SIElementID = "imageField2"
Dim IE As Object
Dim IEPage As Object
Dim IEPageElement As Object
'Create a new Internet Explorer instance, make it visible and maximize its window and navigate to url.
On Error Resume Next
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
ShowWindow IE.hwnd, SW_MAXIMIZE
IE.navigate URL
Set IEPage = IE.document
'setthe UserName text box using the element ID.
Set IEPageElement = IEPage.getElementById(UNElementID)
'set the Password text box using the element ID.
Set IEPageElement = IEPage.getElementById(PWElementID)
'set the Continue button using the element ID.
Set IEPageElement = IEPage.getElementById(SIElementID)
End Sub
答案 0 :(得分:2)
这有效:
Sub login()
Const Url$ = "https://www.mast-technicalservices.com/ecp/index2.jsp"
Dim UserName As String, Password As String, LoginData As Worksheet
Set LoginData = ThisWorkbook.Worksheets("Sheet1")
UserName = LoginData.Cells(1, "B").Value
Password = LoginData.Cells(2, "B").Value
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
With ie
.navigate Url
ieBusy ie
.Visible = True
Dim oLogin As Object, oPassword As Object
Set oLogin = .document.getElementsByName("ecp_param_userId")(0)
Set oPassword = .document.getElementsByName("ecp_param_password")(0)
oLogin.Value = UserName
oPassword.Value = Password
.document.forms(0).submit
End With
End Sub
Sub ieBusy(ie As Object)
Do While ie.Busy Or ie.readyState < 4
DoEvents
Loop
End Sub
另一个子:ieBusy
将确保在您尝试操作之前网页已完全加载。