国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

使用VB實現郵箱自動注冊(一):表單自動提交

2024-07-21 02:20:47
字體:
來源:轉載
供稿:網友
注冊會員,創建你的web開發資料庫,前些天在網上看到有人需要郵箱自動注冊的程序,于是自己也寫了一個,在查資料的過程中我看到一些網友寫的類似文章,有一些是基于網絡協議,需要了解session,cookie這些東西,對于一個新手來說很繁瑣,等到把這些東西搞懂,熱情也消耗殆盡。vb的優點就在于可以讓那些對于計算機底層不是很了解的人迅速實現自己的程序設計,我找到了一種比較簡單的辦法,要求對html標記語言有所了解即可,現在把自己的經驗寫出來于各位網友共享,該方法也許不值一提,也許對您有所幫助。

我的辦法就是利用控件webbrowser,我想很多人對它都很熟悉,在新建一個工程之后您要做的是添加兩個控件,一個是webbrowser,另一個是scriptlet,這兩個控件配合使用,就可以完成這個任務了,scriptlet中的ihtmldocument2對象可以用來獲得webbrowser控件中的html文檔。這兩個控件的名字在組件對話框里分別叫microsoft html object library和microsoft internet controls。

這兩個控件添加完成之后,你還需要知道webbrowser的一個事件documentcomplete,這個事件在整個網頁下載完成之后觸發,也就是說在頁面完成之后這個事件即被執行,有了這些就可以順利的實現注冊了。

下面以eyou網站的免費郵箱注冊為例來實現我的程序設計,新建標準工程后向form中添加一個webbrowser控件。所有代碼如下:

dim ii as integer



private sub form_load()

webbrowser1.navigate "http://freemail.eyou.com/signup.html?bgp=%ce%d2%bd%d3%ca%dc&bgp_enable=on"

end sub



private sub webbrowser1_documentcomplete(byval pdisp as object, url as variant)

dim doc as ihtmldocument2

set doc = webbrowser1.document

dim tmp as string



if instr(doc.body.innertext, "尋找一個新的用戶名") > 0 then

tmp = "sdfsdf23" + trim(str$(ii))

doc.all.item("uid").focus

sendkeys tmp

sendkeys "{enter}"

end if



if instr(doc.body.innertext, "輸入您的個人資料") > 0 then



doc.all.item("password").value = "123456"

doc.all.item("confirm").value = "123456"

doc.all.item("firstname").value = "tomcant"

doc.all.item("question").value = "what is your name"

doc.all.item("answer").value = "my name is ddd"

doc.all.item("year").value = "80"

doc.all.item("month").value = "3"

doc.all.item("day").value = "18"

doc.all.item("day").focus

sendkeys "{enter}"

end if





if instr(doc.body.innertext, "申請郵箱成功") > 0 then

ii = ii + 1

webbrowser1.navigate "http://freemail.eyou.com/signup.html?bgp=%ce%d2%bd%d3%ca%dc&bgp_enable=on"

end if



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即被執行,在這個函數中主要有三個條件語句,在三個條件語句之前有如下三句:

dim doc as ihtmldocument2

set doc = webbrowser1.document

dim tmp as string

doc定義為ihtmldocument2對象用以取得webbrowser1的文檔,tmp字符串是循環注冊中的用戶名,在程序剛開始定義了ii這個integer變量,在每次注冊完成之后ii加1附于tmp之后用以改變用戶名。

第一個條件語句如下:

if instr(doc.body.innertext, "尋找一個新的用戶名") > 0 then

tmp = "sdfsdf23" + trim(str$(ii))

doc.all.item("uid").focus

sendkeys tmp

sendkeys "{enter}"

end if

首先判斷是否是注冊入口頁面,通過instr(doc.body.innertext, "尋找一個新的用戶名") > 0語句實現,doc.body.innertext即取得了該頁面中的所有文字。如果是則構造一個用戶名。doc.all.item("uid").focus使用戶名文本框取得焦點,其中uid是該文本框的id,這個id的取得是通過查看html源代碼得到的,所以要求對html標記語言有所了解。使用戶名文本框取得焦點之后通過sendkeys函數模擬鍵盤向文本框發送tmp字符串,這樣用戶名即填寫完成,之后發送回車鍵提交表單。關于sendkeys函數的使用大家可查閱msdn幫助。

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

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

以上代碼即實現了自動注冊提交。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屏东市| 比如县| 平顶山市| 方城县| 西吉县| 濉溪县| 松桃| 舒城县| 涿州市| 湟中县| 太康县| 伊川县| 上栗县| 邹城市| 育儿| 西乌珠穆沁旗| 普宁市| 临江市| 武强县| 吴堡县| 宁海县| 富蕴县| 湖南省| 赫章县| 金秀| 巴中市| 新竹市| 杨浦区| 茶陵县| 鄱阳县| 阳西县| 翁源县| 清远市| 呼和浩特市| 昌都县| 如皋市| 米易县| 繁峙县| 大姚县| 浮山县| 新竹县|