日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

掩耳盗铃之使用WebBrowser封装网页

發布時間:2025/7/14 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 掩耳盗铃之使用WebBrowser封装网页 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  最近學校的破網越來越不像話了,換了這Win7機器后,Dr.Com就一直掉,換了各種版本,也不行,無奈,我只得換成了網頁登錄模式。但是這上網還要開個網頁不能關,無形中增加了我對電腦整潔度的惡評,所以,我決定封裝這個丑陋的界面:

  使用WebBrowser控件用來加載這個頁面,且設置Visibility="Hidden" 讓它不顯示,就行了。

WB_Client.Source = new Uri("http://"+"192.168.20.1");

  上面便是加載頁面的方法,WB_Client是控件名,192.168.20.1是學校服務器的IP。

?

  接下來便是提取頁面中的元素了:用戶名框、密碼框、確認按鈕、注銷按鈕,需要用到Microsoft.mshtml.dll,它在C:\Program Files\Microsoft.NET\Primary Interop Assemblies下。添加引用后:  

_htmlDoc = WB_Client.Document as mshtml.IHTMLDocument2;

  便能取到頁面的Document了,然后使用Chrome或者Firefox在瀏覽器上分別獲取這些控件的標識,如id、name等,在后臺通過DOM獲取這些控件:

mshtml.IHTMLElement element = _htmlDoc.all.item("DDDDD");

  其中DDDDD就是控件的id或者name屬性值,得到的element有三個必用的方法:getAttribute、setAttribute、click。不用多說了吧,可以通過前兩個方法,把頁面中的值給你的WPF前臺中對應的TextBox,或者從前臺傳到頁面。通過click方法可以觸發頁面中的登錄按鈕,當單擊前臺中的“假”Button時,在后臺使用這個方法模擬登錄。

  如果說這個控件沒有id、name怎么辦,例如我這登錄后的注銷按鈕是沒有名字的,那怎么弄呢?

  使用笨辦法吧,遍歷,然后對字:

1 mshtml.IHTMLElement element; 2 mshtml.IHTMLElementCollection elements = _htmlDoc.all.tags("input"); 3 foreach (mshtml.IHTMLElement elm in elements) 4 { 5 if (elm.getAttribute("value") != "注銷") 6 { 7 element = elm; 8 break; 9 } 10 }

?

  好,基礎已經有了,那么怎么實現登錄狀態、數據保存本地呢?WebBrowser有兩個非常重要的事件可以幫助解決這些問題:Navigating、LoadCompleted。

  Navigating是在頁面開始跳轉前觸發的,這時我做一個判斷,如果能在頁面中找到“登錄”按鈕,就認為這時用戶要登錄了,便把獲取的用戶名、密碼保存到XML文件中,當然,密碼是加密保存的,取出時再解密。

  LoadCompleted是頁面跳轉后觸發的,而且此時WebBrowser的Document已經更新了,如果是用Navigated我發現將發現Document里什么HTML元素也沒有。在這個方法中,需要完成的任務包括驗證網頁的登錄狀態,設置WPF界面的顯示元素等。

  至于其它的功能:是否自動登錄、界面自動最少化、自動保存密碼、程序托盤圖標等,都比較容易實現,來看一下封裝后的東西吧:

?  雖然也不是很好看,但是通過使用托盤圖標類NotifyIcon,我已經可以把這個頁面給單獨放起來了,也不會因為關閉瀏覽器而誤關了登錄會話,夠用了。

  轉載請注明原址:http://www.cnblogs.com/lekko/archive/2012/08/31/2665653.html?

轉載于:https://www.cnblogs.com/lekko/archive/2012/09/01/2665653.html

總結

以上是生活随笔為你收集整理的掩耳盗铃之使用WebBrowser封装网页的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。