C# webBrowser控件使用心得


最近用到WebBrowser控件,遇到很多問題,也學習了不少新的東西。下面是我在C#下寫的關於WebBrowser控件使用的代碼。

1、WebBrowser常用屬性

.Refresh();//刷新

.GoBack();//后退

.GoForward();//前進

.Navigate(new Uri(address)); //打開鏈接

.Dock = DockStyle.Fill; //完全停靠在父容器中

.ScriptErrorsSuppressed = true ; //關閉錯誤顯示

Uri a = new Uri(WebBrowser.Document.ActiveElement.GetAttribute("href"));//獲取點擊中的鏈接地址

2、WebBrowser常用事件處理

.Navigated += new WebBrowserNavigatedEventHandler(WebBrowser_Navigated);//加載中處理事件

.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser _DocumentCompleted);//頁面加載完成處理事件

.NewWindow += new CancelEventHandler(WebBrowser _NewWindow);//新的窗口中打開頁面

3、事件處理函數

3.1、打開新連接

        // Navigates to the given URL if it is valid.

        private void Navigate(WebBrowser web,String address)

        {

            if (String.IsNullOrEmpty(address)) return;

            if (address.Equals("about:blank")) return;

            if (!address.StartsWith("http://")) address = "http://" + address;

            try

            {

                WebBrowser.Navigate(new Uri(address));

              

            }

            catch (System.UriFormatException)

            {

                return;

            }

            // Updates the URL in TextBoxAddress upon navigation.

            private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)

           {

              toolStripTextBox1.Text = WebBrowser.Url.ToString();

           }

        }

3.2、新窗口處理

        private void WebBrowser_NewWindow(object sender, CancelEventArgs e)

        {

            WebBrowser webb = new WebBrowser();

            WebBrowser = WebBrowsers[webtab.SelectedIndex];

            webb.Name = "webb" + webtab.TabCount;

            Uri a = new Uri(WebBrowser.Document.ActiveElement.GetAttribute("href"));       

            webb.Url = a;

            webb.Dock = DockStyle.Fill;

            TabPage p = new TabPage();          

            p.Controls.Add(webb);

            webtab.TabPages.Add(p);

            webtab.SelectedTab = p;

            webb.NewWindow += new CancelEventHandler(WebBrowser_NewWindow);

          

            e.Cancel = true;//取消在默認瀏覽器中打開       

        }

3.3、用戶自動登陸處理

#region 用戶自動登陸

private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)

      HtmlDocument log_auto = WebBrowser.Document;

      HtmlElement log_btn = null;

       foreach (HtmlElement em in log_auto.All) //輪循

       {

             string str = em.Name;

             string id = em.Id;

             if ((str == "username") || (str == "password") || (str == "submit")) //減少處理

             {

                    switch (str)

                    {

                        case "username": em.SetAttribute("value", usernamexml);

                            break; //賦用戶名

                        case "password": em.SetAttribute("value", userpasswordxml );

                            break; //賦密碼

                        case "submit": log_btn = em;

                            break; //獲取submit按鈕

                        default:

                            break;

                    }

                }

            }

            log_btn.InvokeMember("click"); //觸發submit事件               

        }

#endregion


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM