[ahk_l] 구글의 Gmail 자동로그인 소스
참고주소 : http://www.autohotkey.com/forum/topic34972.html
https://www.google.com/accounts/Login?continue=http://www.google.com/&hl=en
주소의 소스의 form의 input에
<input type="text" name="Email" id="Email" size="18" value="myName" class='gaia le val' />
<input type="password" name="Passwd" id="Passwd" size="18" class="gaia le val" />
gUser값과 gPass의 값을 email과 passwd에 대입시킨다.
자료 전송 후 완료되면 http://mail.google.com 로 리디렉션 한다.
gUser:="이메일"
gPass:="비밀번호"
COM_Init()
pwb := COM_CreateObject("InternetExplorer.Application")
COM_Invoke(pwb , "Visible=", "True") ;"False" ;"True" ;
url:="https://www.google.com/accounts/Login?continue=http://www.google.com/&hl=en"
COM_Invoke(pwb, "Navigate", url GETdata)
loop
If (rdy:=COM_Invoke(pwb,"readyState") = 4)
break
; but tank how did you get the form element names
; remember the query string?
; the part before the = sign is the feild name :)
;i only care about the ones the user will interact with not the hidden ones
COM_Invoke(Email:=COM_Invoke(all:=COM_Invoke(doc:=COM_Invoke(pwb,"Document"),"All"),"Item","Email"),"value",gUser)
; Now i already declared a document and an all collection no need to repeat that process now
COM_Invoke(Passwd:=COM_Invoke(all,"Item","Passwd"),"value",gPass)
COM_Invoke(signIn:=COM_Invoke(all,"Item","signIn"),"Click")
sleep 500
loop
If (rdy:=COM_Invoke(pwb,"readyState") = 4)
break
COM_Invoke(pwb, "Navigate", "http://mail.google.com/")
COM_Release(signIn),COM_Release(Passwd),COM_Release(Email),COM_Release(all),COM_Release(doc),COM_Release(pwb)
COM_Term()
참고주소 : http://www.autohotkey.com/forum/topic58841.html
html 소스 중 type과 class부분이 일치하는 곳을 클릭할 경우,
<input type="submit" index="3" value=" " class="loginButton" />
Loop % COM_Invoke(pwb,"document.all.tags[input].length") { if (COM_Invoke(pwb,"document.all.tags[input].item[" A_Index-1 "].type")="submit") && (COM_Invoke(pwb,"document.all.tags[input].item[" A_Index-1 "].className")="loginButton") { COM_Invoke(pwb,"document.all.tags[input].item[" A_Index-1 "].click") break } } |