c WebBrowser開發參考資料

2021-09-06 16:11:29 字數 1631 閱讀 3380

原文:

c# webbrowser開發參考資料

那麼找出該按鈕並為之新增event handler的**如下:

htmldocument htmldoc = webbrowser.document; 

htmlelement btnelement = htmldoc.all["btnclose"]; 

if (btnelement != null) 

其中htmlbtnclose_click是按下web按鈕時的event handler。

很簡單吧?那麼稍稍高階一點的——我們都知道乙個html元素可能有很多各種各樣的事件,而htmlelement這個類只給出最常用、共通的幾個。那麼,

如何響應其他事件呢?這也很簡單,只需要呼叫htmlelement的attacheventhandler就可以了:

btnelement.attacheventhandler("onclick", new eventhandler(htmlbtnclose_click)); 

//這一句等價於上面的btnelement.click += new htmlelementeventhandler(htmlbtnclose_click); 

對於其他事件,把"onclick"換成該事件的名字就可以了。例如:

formelement.attacheventhandler("onsubmit", new eventhandler(htmlform_submit));

study case 2:表單(form)的自動填寫和提交

要使我們的webbrowser具有自動填表、甚至自動提交的功能,並不困難。

假設有乙個最簡單的登入頁面,輸入使用者名稱密碼,點「登入」按鈕即可登入。已知使用者名稱輸入框的id(或name,下同)是username,密碼輸入框的id

是password,「登入」按鈕的id是submitbutton,那麼我們只需要在webbrowser的documentcompleted事件中使用下面的**即可:

htmlelement btnsubmit = webbrowser.document.all["submitbutton"]; 

htmlelement tbuserid = webbrowser.document.all["username"]; 

htmlelement tbpasswd = webbrowser.document.all["password"];

if (tbuserid == null || tbpasswd == null || btnsubmit == null) 

return;

tbuserid.setattribute("value", "smalldust"); 

tbpasswd.setattribute("value", "12345678");

btnsubmit.invokemember("click"); 

這裡我們用setattribute來設定文字框的「value」屬性,用invokemember來呼叫了按鈕的「click」方法。因為不同的html元素,其擁有的屬性和方

法也不盡相同,所以.net 2.0提供了統一的htmlelement來概括各種html元素的同時,提供了這兩個方法以呼叫元素特有的功能。關於各種html元素的

屬性和方法一覽,可以查閱msdn的dhtml reference。

c webBrowser 獲取Ajax資訊

c 中 webbrowser控制項對ajax的執行,沒有任何的響應,難於判斷ajax是否已經執行完畢,我gg了一下午,找到乙個方法,介紹一下 假如在頁面中有個 是通過ajax來改變值,當webbrowser1.statustext 完成 後,獲取一下這個div htmlelement target ...

c webBrowser 獲取Ajax資訊

c 中 webbrowser控制項對ajax的執行,沒有任何的響應,難於判斷ajax是否已經執行完畢,我gg了一下午,找到乙個方法,介紹一下 假如在頁面中有個 是通過ajax來改變值,當webbrowser1.statustext 完成 後,獲取一下這個div htmlelement target ...

c webBrowser 獲取Ajax資訊

原文 c webbrowser 獲取ajax資訊 c 中 webbrowser控制項對ajax的執行,沒有任何的響應,難於判斷ajax是否已經執行完畢,我gg了一下午,找到乙個方法,介紹一下 假如在頁面中有個 是通過ajax來改變值,當webbrowser1.statustext 完成 後,獲取一下...