其實網頁自動化,說白了就是另外版本的按鍵精靈,不知道你是否用過沒。反正我但是上大學的時候很多人用它搶選修課,功能不是強大,倒是任勞任怨,不斷重復的進行點擊。所以自動化也沒想想那么漂浮。
好了,廢話不說,如正題吧,網頁自動化可以使用WebBrowser控件去做,VB,C#,VC++都可以做,不過本人推薦使用C#(我是C++的),因 為C++用這個控件比較復雜,現在又不是做項目,做小軟件玩玩,所以當然是越簡單越好了。VB呢其實是個挺簡單的語言的,可以WebBrowser和 IE7有沖突,而且VB6中對WebBrowser編程時,很多成員列表不會自動列舉。所以最后我把目光投放在C#身上,非常幸運的是它沒有讓我失 望,C#對WebBrowser的封裝挺好的,而且和IE7也不沖突,使用類也比VB方便,還有就是對正則表達式的支持了,在HTML頁面這么混亂的地 方,要找出自己的東西沒有 正則表達式,我想那是相當的痛苦。
現在從基礎講起吧,理論就不說了,直接說一些簡單的功能。
1.讓WebBrowser跳轉到指定頁面
這可以說是基礎中的基礎,任何操作都要簡歷在打開頁面的基礎上。代碼是
WebBrowser1.Navigate(https://www.cnblogs.com/yp730/);
上面語句讓WebBrowser跳轉到我的主頁
2.向文本框中填入指定值
這個可以做所謂的自動填表,或者自動登錄時自動輸入帳號,密碼。代碼是:
WebBrowser1.document.getElementByIdx_x("txtUserName").InnerText = "shushx";
上面語句是讓WebBrowser1找到id號為txtUserName的文本框,然后賦值為shushx
其他相關的控件賦值: 作用 SetAttribute 設置下拉框,復選框,多選框數據
下拉框:WebBrowser1.document.getElementByIdx_x("lAge").SetAttribute("value", "question1");復選框WebBrowser1.document.getElementByIdx_x("chkSingle").SetAttribute("Checked", "True");多選框WebBrowser1.document.getElementByIdx_x("chkMang").SetAttribute("checked", "checked");
3.點擊某個按鈕
這個如點擊登錄,發布,留言等按鈕
WebBrowser1.document.getElementByIdx_x("submit").InvokeMember("click");
OK了,就先講這3個知識點,其實大部分操作都包含在里面的。大家可以想想平時對網頁的操作是否就這幾個操作的集合?
例子1:登錄 ->跳轉到指定網站的 登錄頁面
->向帳號、密碼框輸入 登錄信息
->點擊登錄按鈕
例子2:發帖
->跳轉到指定發帖 地址
->向標題框,內容框填入 要發表的標題和內容
->選擇 分類下拉 列表的值
->向 標簽框 輸入相應內容
->點擊發表按鈕
所以學會頁面跳轉,頁面元素賦值,頁面元素點擊,大部分網頁自動化你都可以做出來。后面會用實際例子講解C#中WebBrowser的應用。