天天看點

WebBrowser執行和安裝jQuery腳本(IEBrowse)

上一文章說明了如何讓 js 腳本通路 .NET 中的類, 這次希望給大家說明一下在任意頁面中安裝 jQuery 腳本, 并操作頁面上的元素.

其實在第一篇關于 IEBrowser 的文章當中, 已經有了一段 jQuery 的示例, 但可能由于篇幅原因, 沒有過多的解釋, 是以決定單獨寫一篇來重新說明.

這次準備的例子也是較為簡單的, 實作了模拟使用者搜尋百度, 請大家看下面的代碼:

WebBrowser執行和安裝jQuery腳本(IEBrowse)
WebBrowser執行和安裝jQuery腳本(IEBrowse)

這段有效代碼不超過 10 行的代碼段, 模拟了導航并等待百度頁面, 之後模拟使用者搜尋、輸出标題的功能,

在視窗上, 我們擁有一個名稱為 webBrowser 的 WebBrowser 控件和一個名稱為 txtKeyword 的TextBox 控件.

在代碼開始時, 我們首先判斷了使用者輸入的關鍵詞是否為空, 如果為空則直接 return, 而關鍵詞用于在百度中搜尋.

之後, 我們使用了 IEBrowser 的 Navigate 和 IEFlow 的 Wait 方法來導航并等待載入百度頁面.Wait 方法用于讓程式等待某個條件成立後才繼續向下執行, 而代碼中我們指定的是一個UrlCondition, 也就是一個頁面條件, StringCompareMode 設定為 StartWith 表示等待位址以"http://www.baidu.com/" 開始的頁面載入.

當頁面載入之後, 我們執行 IEBrowser 的 InstallJQuery 方法來為頁面安裝 jQuery 腳本. 而InstallJQuery 方法有兩種形式, 一種可以載入字元串作為腳本, 另一種是傳遞一個 Uri 作為參數, Uri是一個網絡的位址或者一個本地檔案的位址, 在示例中, 我們使用的是第一種形式, 類 JQuery 的靜态屬性 CodeMin 傳回了 jQuery 的壓縮後的腳本.

下面, 我們将兩行重要的代碼重新列出, 在代碼中, 我們傳遞 JQuery 類作為參數給IEBrowser 的 ExecuteJQuery 方法, 以在 WebBrowser 的頁面中執行 jQuery 腳本.

我們可以使用 JQuery 的靜态方法 Create, 或者 new JQuery 來建立一個 JQuery 的執行個體. 第一行的JQuery 對象所對應的 jQuery 腳本為 $('#kw').val('<使用者輸入的關鍵詞>');, 而第二行的 JQuery 對象對應了 $('#su').click();.

在這裡, JQuery 類和實際的 js 腳本中的 jQuery 的用法幾乎是相同的, 隻不過 Create 表示 $, 而jQuery 的成員在 JQuery 類中都變成了大寫, 但成員名稱并無變化. JQuery 類用于在 .NET 中建構jQuery 腳本并作為參數傳遞給 IEBrowser 執行.

其實, 你也可以通過 IEBrowser 的 ExecuteScript 來直接執行 jQuery 腳本, 其效果也是完全一樣的.

代碼到這裡也就講完了, 需要看實際運作效果的話, 可以參照下面的示範.

本文轉自黃聰部落格園部落格,原文連結:http://www.cnblogs.com/huangcong/p/5068354.html,如需轉載請自行聯系原作者

繼續閱讀