NewBeanfun Webbrowser Login Source
最近好懶惰,好久沒碰了 (茶
剛好有人在問就把他發出來吧~ 高手請飄過~
其實某個論壇曾經有發過,不過那論壇不見了 (呵呵
其實自從改 NewBeanfun 之後反而在某些部分更容易取得網頁內容,這只是一些 Webbrowser 的操作手法,沒有甚麼難的
如果想用更有效率的登入請自行研究 Http Request 那個比較麻煩...
直接貼源碼吧~
VB6 Win7 x86 編譯通過,不過這邊只貼重點不貼完整XD
登入:
取得驗證碼圖片:
換一張驗證碼:
大致上是這樣囉,不過細節請自行調教,如果有自動登入的興趣歡迎研究 新楓之谷洋蔥 的登入流程。
剛好有人在問就把他發出來吧~ 高手請飄過~
其實某個論壇曾經有發過,不過那論壇不見了 (呵呵
其實自從改 NewBeanfun 之後反而在某些部分更容易取得網頁內容,這只是一些 Webbrowser 的操作手法,沒有甚麼難的
如果想用更有效率的登入請自行研究 Http Request 那個比較麻煩...
直接貼源碼吧~
VB6 Win7 x86 編譯通過,不過這邊只貼重點不貼完整XD
登入:
WebB.Document.Frames.ifmForm1.Document.GetElementById("t_AccountID").value = txt_User.Text '帳號 WebB.Document.Frames.ifmForm1.Document.GetElementById("t_Password").value = txt_Pass.Text '密碼 WebB.Document.Frames.ifmForm1.Document.GetElementById("CodeTextBox").value = txt_Check.Text '驗證碼 WebB.Document.Frames.ifmForm1.Document.GetElementById("btn_login").Click '確定
取得驗證碼圖片:
Dim ctrlRange As Object Set ctrlRange = WebB.Document.Frames.ifmForm1.Document.Body.createControlRange() '設定複製區域 ctrlRange.Add (WebB.Document.Frames.ifmForm1.Document.GetElementById("c_login_idpass_form_samplecaptcha_CaptchaImage")) '複製驗證碼圖片 Clipboard.Clear '清除剪貼簿內容 ctrlRange.execCommand ("Copy") '複製 CheckPic.Picture = Clipboard.GetData 'Picturebox 取得剪貼簿圖片 Clipboard.Clear '清除剪貼簿內容
換一張驗證碼:
WebB.Document.Frames.ifmForm1.Document.GetElementById("c_login_idpass_form_samplecaptcha_ReloadLink").Click
大致上是這樣囉,不過細節請自行調教,如果有自動登入的興趣歡迎研究 新楓之谷洋蔥 的登入流程。
Microsoft的這個Webbrowser真的好用 包裝了很多東西在裡面, 都不用parse了XD
回覆刪除不過我個人使用以後發現處理iFrame的時候比較麻煩,
因為她只有對整個網頁原本的文件加入讀取完成的函數(Document.Completed那個event),而裡面的iFrame有沒有加載完成他就沒有預留撰寫處理函式的地方
像new BF這個網頁老愛用iFrame處理起來好麻煩,我是很簡陋的使用Timer來檢測某個元件到底load好了沒,不知道其他高手是怎麼寫的
WebBrowser1.ReadyState = READYSTATE_COMPLETE
刪除如過還是不行就用延遲函數延遲個1、2秒...
蠻偷懶的方法
http requeest + ssl library 才是王道
刪除作者已經移除這則留言。
回覆刪除謝謝 洋蔥大大 =) 我成功了
回覆刪除我只剩下 伺服器那些 跟讀 "快速啟動"
一步一步來 :)
大神教我 "快速啟動"拔 =)
我發現我也很需要 = = ..
回覆刪除不過我是用 vb.net ..
不知道怎翻 ㄏ
我怎麼好像看過這段原始碼 QAQ?
回覆刪除這種寫法看起來應該都差不多吧
刪除蔥蔥 :))
刪除洋蔥大大 請問一下:
回覆刪除web.Document.GetElementById("btnFriendlyReminderOK").Click '點友情連結中的"確定"
我查詢友情連結的確認ID是btnFriendlyReminderOK 照這樣寫我上面那段程式碼為何會無效呢..?
你確定你沒有漏掉甚麼東西嗎?像是iframe神馬地...請仔細參照文章。
刪除所以是少iframe的關係嗎? 我在試試看 感謝大大
刪除