NewBeanfun Webbrowser Login Source

最近好懶惰,好久沒碰了  (茶
剛好有人在問就把他發出來吧~ 高手請飄過~
其實某個論壇曾經有發過,不過那論壇不見了  (呵呵
其實自從改 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

大致上是這樣囉,不過細節請自行調教,如果有自動登入的興趣歡迎研究 新楓之谷洋蔥 的登入流程。

留言

  1. Microsoft的這個Webbrowser真的好用 包裝了很多東西在裡面, 都不用parse了XD

    不過我個人使用以後發現處理iFrame的時候比較麻煩,
    因為她只有對整個網頁原本的文件加入讀取完成的函數(Document.Completed那個event),而裡面的iFrame有沒有加載完成他就沒有預留撰寫處理函式的地方

    像new BF這個網頁老愛用iFrame處理起來好麻煩,我是很簡陋的使用Timer來檢測某個元件到底load好了沒,不知道其他高手是怎麼寫的

    回覆刪除
    回覆
    1. WebBrowser1.ReadyState = READYSTATE_COMPLETE
      如過還是不行就用延遲函數延遲個1、2秒...
      蠻偷懶的方法

      刪除
    2. http requeest + ssl library 才是王道

      刪除
  2. 作者已經移除這則留言。

    回覆刪除
  3. 謝謝 洋蔥大大 =) 我成功了

    我只剩下 伺服器那些 跟讀 "快速啟動"

    一步一步來 :)

    大神教我 "快速啟動"拔 =)

    回覆刪除
  4. 我發現我也很需要 = = ..

    不過我是用 vb.net ..

    不知道怎翻 ㄏ

    回覆刪除
  5. 我怎麼好像看過這段原始碼 QAQ?

    回覆刪除
  6. 洋蔥大大 請問一下:
    web.Document.GetElementById("btnFriendlyReminderOK").Click '點友情連結中的"確定"
    我查詢友情連結的確認ID是btnFriendlyReminderOK 照這樣寫我上面那段程式碼為何會無效呢..?

    回覆刪除
    回覆
    1. 你確定你沒有漏掉甚麼東西嗎?像是iframe神馬地...請仔細參照文章。

      刪除
    2. 所以是少iframe的關係嗎? 我在試試看 感謝大大

      刪除

張貼留言

本月最夯