vs2005中的WebBrowser控件的簡單應用

這個控件被封裝了一下,和以前的調用方式稍有不同。

事件還是那幾個,變化不大。

方法變了不少。

從網上能查到的資料不多,貼出一些代碼來作參考。

看看這段代碼,可以用來分析網頁上的元素的類型的。

        private void btn_Find_Click(object sender, EventArgs e)
        
{
            
//find all the input controls on the page
            if (this.wb_Show.Document == null)
            

                MessageBox.Show(
"請先打開一個要分析的網頁");
                
return;            
            }

            
string type = this.cbx_type.Text.ToLower().Trim();
            
if (type == "")
            
{
                MessageBox.Show(
"請選擇一個分析對象的類型");
                
return;
            }

            
this.lb_InputList.Items.Clear();
            HtmlDocument htm 
= this.wb_Show.Document;
            HtmlElementCollection all 
= htm.All;
            
for (int i = 0; i < all.Count; i++)
            
{
                HtmlElement elem 
= all[i];
                
if (elem.TagName.ToLower() == type)
                
{
                    
this.lb_InputList.Items.Add(elem.Name);
                }

            }

            MessageBox.Show(
"總共找到" + this.lb_InputList.Items.Count.ToString() + "個符合條件的結果");
        }

這一段代碼是用來觸發按鈕事件的,注意使用的是click參數
                     if (elem.Name.ToLower() == login.Attributes["name"].Value)
                     
{
                         
//elem.InvokeMember("click");
                         elem.InvokeMember("click");

                     }

對於form的提交,得使用submit

             
else
             
{
                 XmlNode form 
= FindNode("form");
                 htm.Forms[form.Attributes[
"name"].Value].InvokeMember("submit");
             }


獲取值,和賦值類似
                XmlNode userName = FindNode("userName");
                
if (elem.TagName.ToLower() == "input" && elem.Name.ToLower() == userName.Attributes["name"].Value)
                
{
                    elem.InnerText 
= userName.InnerText;
                }


可以使用這些簡單的應用做一個之類的系統
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章