日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET表單自動提交實現(xiàn)方案剖析

我們曾經(jīng)在一篇文章中介紹過郵件自動注冊中的修改代理服務器的應用。不過要想實現(xiàn)這一功能的話還需要一個應用的實現(xiàn),那就是VB.NET表單自動提交。在這里我們就會為大家詳細介紹這一應用技巧。#t#

前些天在網(wǎng)上看到有人需要郵箱自動注冊的程序,于是自己也寫了一個,在查資料的過程中我看到一些網(wǎng)友寫的類似文章,有一些是基于網(wǎng)絡協(xié)議,需要了解session,cookie這些東西,對于一個新手來說很繁瑣,等到把這些東西搞懂,熱情也消耗殆盡。vb的優(yōu)點就在于可以讓那些對于計算機底層不是很了解的人迅速實現(xiàn)自己的程序設計,我找到了一種比較簡單的辦法,要求對HTML標記語言有所了解即可,現(xiàn)在把自己的經(jīng)驗寫出來于各位網(wǎng)友共享,該方法也許不值一提,也許對您有所幫助。

我的辦法就是利用控件WebBrowser,我想很多人對它都很熟悉,在新建一個工程之后您要做的是添加兩個控件,一個是WebBrowser,另一個是Scriptlet,這兩個控件配合使用,就可以完成這個任務了,Scriptlet中的IHTMLDocument2對象可以用來獲得WebBrowser控件中的HTML文檔。這兩個控件的名字在組件對話框里分別叫Microsoft HTML Object Library和Microsoft Internet Controls。

這兩個控件添加完成之后,你還需要知道WebBrowser的一個事件DocumentComplete,這個事件在整個網(wǎng)頁下載完成之后觸發(fā),也就是說在頁面完成之后這個事件即被執(zhí)行,有了這些就可以順利的實現(xiàn)注冊了。

下面以eyou網(wǎng)站的免費郵箱注冊為例來實現(xiàn)我的程序設計,新建標準工程后向Form中添加一個WebBrowser控件。所有代碼如下:

 
 
 
  1. Dim ii As Integer  
  2. Private Sub Form_Load()  
  3. WebBrowser1.Navigate "http://freemail.eyou.com/signup.html?
    bgp=%CE%D2%BD%D3%CA%DC&bgp_enable=on"  
  4. End Sub  
  5. Private Sub WebBrowser1_DocumentComplete
    (ByVal pDisp As Object, URL As Variant)  
  6. Dim doc As IHTMLDocument2  
  7. Set doc = WebBrowser1.Document  
  8. Dim tmp As String  
  9. If InStr(doc.body.innerText, "尋找一個新的用戶名") > 0 Then  
  10. tmp = "sdfsdf23" + Trim(Str$(ii))  
  11. doc.All.Item("uid").focus  
  12. SendKeys tmp  
  13. SendKeys "{enter}"  
  14. End If  
  15. If InStr(doc.body.innerText, "輸入您的個人資料") > 0 Then  
  16. doc.All.Item("Password").Value = "123456" 
  17. doc.All.Item("Confirm").Value = "123456" 
  18. doc.All.Item("FirstName").Value = "tomcant" 
  19. doc.All.Item("question").Value = "what is your name" 
  20. doc.All.Item("answer").Value = "my name is ddd" 
  21. doc.All.Item("year").Value = "80" 
  22. doc.All.Item("month").Value = "3" 
  23. doc.All.Item("day").Value = "18" 
  24. doc.All.Item("day").focus  
  25. SendKeys "{enter}"  
  26. End If  
  27. If InStr(doc.body.innerText, "申請郵箱成功") > 0 Then  
  28. iiii = ii + 1  
  29. WebBrowser1.Navigate "http://freemail.eyou.com/signup.html?
    bgp=%CE%D2%BD%D3%CA%DC&bgp_enable=on"  
  30. End If  
  31. End Sub 

Eyou的免費郵箱注冊入口地址為http://freemail.eyou.com/signup.html?bgp=%CE%D2%BD%D3%CA%DC&bgp_enable=on,所以要在Form_load事件中使用WebBrowser控件的Navigate方法。

在eyou的注冊入口頁面完成之后WebBrowser1_DocumentComplete即被執(zhí)行,在這個函數(shù)中主要有三個條件語句,在三個條件語句之前有如下三句:

 
 
 
  1. Dim doc As IHTMLDocument2  
  2. Set doc = WebBrowser1.Document  
  3. Dim tmp As String 

doc定義為IHTMLDocument2對象用以取得WebBrowser1的文檔,tmp字符串是循環(huán)注冊中的用戶名,在VB.NET表單自動提交的程序剛開始定義了ii這個integer變量,在每次注冊完成之后ii加1附于tmp之后用以改變用戶名。

第一個條件語句如下:

 
 
 
  1. If InStr(doc.body.innerText, "尋找一個新的用戶名") > 0 Then  
  2. tmp = "sdfsdf23" + Trim(Str$(ii))  
  3. doc.All.Item("uid").focus  
  4. SendKeys tmp  
  5. SendKeys "{enter}"  
  6. End If 

首先判斷是否是注冊入口頁面,通過InStr(doc.body.innerText, "尋找一個新的用戶名") > 0語句實現(xiàn),doc.body.innerText即取得了該頁面中的所有文字。如果是則構造一個用戶名。

doc.All.Item("uid").focus使用戶名文本框取得焦點,其中uid是該文本框的ID,這個ID的取得是通過查看HTML源代碼得到的,所以要求對HTML標記語言有所了解。使用戶名文本框取得焦點之后通過SendKeys函數(shù)模擬鍵盤向文本框發(fā)送tmp字符串,這樣用戶名即填寫完成,之后發(fā)送回車鍵提交表單。關于SendKeys函數(shù)的使用大家可查閱MSDN幫助。

第二個條件語句首先判斷改頁面是否是個人資料填寫頁面,然后填寫個人資料,其方法同填寫用戶名一致,取得個文本框的ID后填寫其值,最后提交表單。

最后一個條件語句判斷郵箱注冊成功后將ii加一,然后將頁面重新定位到注冊入口頁面,至此一個循環(huán)完成。

以上VB.NET表單自動提交的代碼即實現(xiàn)了自動注冊提交。


分享標題:VB.NET表單自動提交實現(xiàn)方案剖析
轉載來源:http://www.dlmjj.cn/article/cceocpe.html