C#WebBrowser控制項使用教程與技巧收集

來源:互聯網
上載者:User

標籤:addition   builder   _id   mem   tostring   rss   指令碼   fresh   form表單   

 常用的方法

 

 1 Navigate(string urlString):瀏覽urlString表示的網址 2 Navigate(System.Uri url):瀏覽url表示的網址 3 Navigate(string urlString, string targetFrameName, byte[] postData, string additionalHeaders): 瀏覽urlString表示的網址,並發送postData中的訊息 4 //(通常我們登入一個網站的時候就會把使用者名稱和密碼作為postData發送出去) 5 GoBack():後退 6 GoForward():前進 7 Refresh():重新整理 8 Stop():停止 9 GoHome():瀏覽首頁10 WebBrowser控制項的常用屬性:11 Document:擷取當前正在瀏覽的文檔12 DocumentTitle:擷取當前正在瀏覽的網頁標題13 StatusText:擷取目前狀態欄的文本14 Url:擷取當前正在瀏覽的網址的Uri15 ReadyState:擷取瀏覽的狀態16 WebBrowser控制項的常用事件:17 DocumentTitleChanged,18 CanGoBackChanged,19 CanGoForwardChanged,20 DocumentTitleChanged,21 ProgressChanged,22 ProgressChanged23 DocumentCompleted 頁面載入完成之後的事件

 

擷取非input控制項的值

 

1 webBrowser1.Document.All["控制項ID"].InnerText;2 或webBrowser1.Document.GetElementById("控制項ID").InnerText;3 或webBrowser1.Document.GetElementById("控制項ID").GetAttribute("value");

 

屏蔽指令碼錯誤:  將WebBrowser控制項ScriptErrorsSuppressed設定為True即可

 

 

擷取元素、表單

 1 //根據Name擷取元素 2 public HtmlElement GetElement_Name(WebBrowser wb,string Name) 3 { 4     HtmlElement e = wb.Document.All[Name]; 5     return e; 6 } 7   8 //根據Id擷取元素 9 public HtmlElement GetElement_Id(WebBrowser wb, string id)10 {11     HtmlElement e = wb.Document.GetElementById(id);12     return e;13 }14  15 //根據Index擷取元素16 public HtmlElement GetElement_Index(WebBrowser wb,int index)17 {18     HtmlElement e = wb.Document.All[index];19     return e;20 }21  22 //擷取form表單名name,返回表單23 public HtmlElement GetElement_Form(WebBrowser wb,string form_name)24 {25     HtmlElement e = wb.Document.Forms[form_name];26     return e;27 }28  29  30 //設定元素value屬性的值31 public void Write_value(HtmlElement e,string value)32 {33     e.SetAttribute("value", value);34 }35  36 //執行元素的方法,如:click,submit(需Form表單名)等37 public void Btn_click(HtmlElement e,string s)38 {39  40     e.InvokeMember(s);41 }

 

 

 1 [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] 2       static extern bool InternetGetCookieEx(string pchUrl, string pchCookieName, StringBuilder pchCookieData, ref System.UInt32 pcchCookieData, int dwFlags, IntPtr lpReserved); 3       private static string GetCookieString(string url) 4       { 5           uint datasize = 1024; 6           StringBuilder cookieData = new StringBuilder((int)datasize); 7           if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x2000, IntPtr.Zero)) 8           { 9               if (datasize < 0)10                   return null;11               cookieData = new StringBuilder((int)datasize);12               if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, IntPtr.Zero))13                   return null;14           }15           return cookieData.ToString();16       }17       private void webBrowser1_DocumentCompleted_1(object sender, WebBrowserDocumentCompletedEventArgs e)18       {19           richTextBox1.Text = string.Empty;20           if (cbcookie.Checked)21           {22               if (checkBox1.Checked)23               {24                   richTextBox1.Text = GetCookieString(textBox1.Text.Trim());25               }26               else27               {28                   richTextBox1.Text = webBrowser1.Document.Cookie;29               }30           }31       }32       

 

C#WebBrowser控制項使用教程與技巧收集

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.