您不必使用SendKeys方法。通過使用.value
方法,您可以通過檢查每個站點的元素,從用戶名框和密碼框中獲取ID。像這樣ie.Doucment.All.Item("email").Value= "Password goes in here"
。
Facebook的:
Option Explicit
Dim ie
ie = CreatObject("InternetExplorer.Application")
Sub WhilD
Do While ie.busy
wscript.sleep 200
loop
End Sub
ie.Navigate "www.facebook.com"
Call WhilD
ie.Document.All.Item("email").value = "Facebook username goes here"
ie.Document.All.Item("pass").value = "Facebook password goes here"
ie.Document.All.Item("login_form").submit
Call WhilD
ie.navOpenInNewWindow = 1
Call WhilD
ie.Document.All.Item("Email").value = "Gmail username goes here"
ie.Document.All.Item("Passwd").value = "Gmail password goes here"
ie.Document.All.Item("SignIn").Submit
wscript.quit
電子郵件是在Facebook上的用戶名輸入框的HTML ID。 pass是Facebook上的密碼輸入框的HTML標識,login_form是單擊按鈕登錄的HTML標識。還有一種方法可以通過輸入框來完成。因此,您的計算機會詢問您要導航到哪個頁面以及所選站點的用戶名和密碼。它看起來像這樣:
Option Explicit
Dim x,msgB,inpB,ie,ieDAI,FBU,FBP,GMU,GMP,HMU,HMP,YHU,YHP
Set x=CreateObject("Wscript.Shell")
Set ie=CreateObject("InternetExplorer.Application")
Sub WhiLD
Do While ie.busy
wscript.sleep 200
loop
End Sub
inpB=inputbox("What website would you like to login to?"&vbLf&"Facebook"&vbLF&"Gmail"&vbLF&"Hotmail"&vbLF&"Yahoo")
If inpB="Facebook" then
On Error Resume Next
FBU=inputbox("Enter Facebook Username")
FBP=inputbox("Enter Facebook Password")
ie.Navigate"www.facebook.com"
ie.Left=0
ie.Toolbar=1
ie.StatusBar=0
ie.Height=200
ie.Width=1020
Call WhiLD
ie.Document.All.Item("email").Value= FBU
ie.Document.All.Item("pass").Value= FBP
ie.Document.All.Item("login_form").Submit
Call WhilD
ie.fullscreen=1
ie.Visible=1
wscript.quit
End If
If inpB="Gmail" then
On Error Resume Next
GMU=inputbox("Enter Gmail Username")
GMP=inputbox("Enter Gmail Password")
ie.Navigate"https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/"
ie.Left=0
ie.Toolbar=1
ie.StatusBar=0
ie.Height=200
ie.Width=1020
Call WhiLD
ie.Doucment.All.Item("Email").Value= GMU
ie.Doucment.All.Item("Passwd").Value= GMP
ie.Doucment.All.Item("SignIn").Submit
Call WhilD
ie.fullscreen=1
ie.Visible=1
wscript.quit
End If
If inpB="Hotmail" then
On Error Resume Next
HMU=inputbox("Enter Hotmail Username")
HMP=inputbox("Enter Hotmail Password")
ie.Navigate"https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=12&ct=1414030279&rver=6.4.6456.0&wp=MBI_SSL_SHARED&wreply=https:%2F%2Fblu168.mail.live.com%2Fdefault.aspx%3Fmkt%3Den-au%26rru%3Dinbox&lc=3081&id=64855&mkt=en-au&cbcxt=mai"
ie.Left=0
ie.Toolbar=1
ie.StatusBar=0
ie.Height=200
ie.Width=1020
Call WhiLD
ie.Doucment.All.Item("idDiv_PWD_UsernameExample").Value= HMU
ie.Doucment.All.Item("idDiv_PWD_PasswordExample").Value= HMP
ie.Doucment.All.Item("idSIButton9").Submit
Call WhiLD
ie.fullscreen=1
ie.Visible=1
wscript.quit
End If
If inpB="Yahoo" then
On Error Resume Next
HMU=inputbox("Enter Yahoo Username")
HMP=inputbox("Enter Yahoo Password")
ie.Navigate"https://login.yahoo.com/"
ie.Left=0
ie.Toolbar=1
ie.StatusBar=0
ie.Height=200
ie.Width=1020
Call WhiLD
ie.Doucment.All.Item("username").Value= YHU
ie.Doucment.All.Item("passwd").Value= YHP
ie.Doucment.All.Item(".save").Submit
Call WhiLD
ie.fullscreen=1
ie.Visible=1
wscript.quit
End If
If inpB=2 then
wscript.quit
End If
您也可以使用自定義的IE瀏覽器。那是我之前做的。它可能更有效率,但是當它像這樣被全部解決時,更容易學習和理解。
請注意:如果您已經登錄到網站,這些VBScripts都不起作用。
希望這有助於。