In the fourth post of this series I demonstrate how to Login to Gmail / YouTube / Google+ with AutoHotkey.
In this web scraping example we saw how the Google login looks like it is loading a separate page but, in reality, is not. Web scraping is always fun (and can be very frustrating) because HTML developers can think of so many different ways to accomplish their objectives. Check this page for the other scripts I used in the video.
Video demonstrating Login to Gmail / YouTube / Google+
Here is the AutoHotkey script where I automate Login to Gmail / YouTube / Google+
#SingleInstance, Force
Browser_Forward::Reload ;RControl::
Browser_Back::
;************************************************************
Page:="https://accounts.google.com/ServiceLogin?sacu=1&continue=https%3A%2F%2Faccounts.google.com%2FManageAccount&hl=en#identifier"
pwb := WBGet()
If (pwb.locationURL !=page){
pwb.Navigate(page) ;Navigate to URL
while pwb.busy or pwb.ReadyState != 4 ;Wait for page to load
Sleep, 100
}
pwb.document.GetElementsByName("Email")[0].Value :="[email protected]" ;Object Name- Set array value
pwb.document.GetElementsByName("signIn")[0].click()
Sleep, 300
pwb.document.GetElementsByName("Passwd")[0].Value :="The_Stupidist_Password!"
pwb.document.GetElementsByName("signIn")[0].click()
;************Pointer to Open IE Window******************
WBGet(WinTitle="ahk_class IEFrame", Svr#=1) { ;// based on ComObjQuery docs
static msg := DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT")
, IID := "{0002DF05-0000-0000-C000-000000000046}" ;// IID_IWebBrowserApp
;// , IID := "{332C4427-26CB-11D0-B483-00C04FD90119}" ;// IID_IHTMLWindow2
SendMessage msg, 0, 0, Internet Explorer_Server%Svr#%, %WinTitle%
if (ErrorLevel != "FAIL") {
lResult:=ErrorLevel, VarSetCapacity(GUID,16,0)
if DllCall("ole32\CLSIDFromString", "wstr","{332C4425-26CB-11D0-B483-00C04FD90119}", "ptr",&GUID) >= 0 {
DllCall("oleacc\ObjectFromLresult", "ptr",lResult, "ptr",&GUID, "ptr",0, "ptr*",pdoc)
return ComObj(9,ComObjQuery(pdoc,IID,IID),1), ObjRelease(pdoc)
}
}
}

