溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

WinForm webbrowser控件的使用

發(fā)布時間:2020-06-14 12:20:03 來源:網(wǎng)絡(luò) 閱讀:609 作者:guwei4037 欄目:編程語言

webbrowser是一個比較實用的工具,主要用于在winform窗體中嵌入瀏覽器,達到winform與webform互操作的目的。

先上一個demo,看一下能實現(xiàn)什么效果。

private void Form1_Load(object sender, EventArgs e) 
{ 
    this.webBrowser1.Url = new Uri("http://www.baidu.com");//指定url地址為百度首頁 
} 
            
private void button1_Click(object sender, EventArgs e) 
{ 
    HtmlElement searchWords = webBrowser1.Document.All["kw"];//獲取百度搜索的文本框 
    HtmlElement searchButton = webBrowser1.Document.All["su"];//獲取百度搜索的按鈕 
    searchWords.SetAttribute("value", "guwei4037");//給百度搜索的文本框賦值 
    searchButton.InvokeMember("click");//調(diào)用百度搜索按鈕的點擊事件 
}

在winform中拖一個webbrowser控件,然后在相應(yīng)事件中鍵入如上代碼,就可以實現(xiàn)自助搜索(無需在文本框中輸入關(guān)鍵詞guwei4037,再點搜索按鈕,而是直接點擊一個按鈕進行搜索)。


原理很簡單,就是通過查找在webbrowser控件生成的html代碼中的input元素或button元素的id,通過api實現(xiàn)模擬賦值和查找工作。

再附一個稍微復(fù)雜的一點的例子。

如果生成的html比較復(fù)雜,比如含iframe這類的標(biāo)簽時該如何處理呢?

比如,我們要訪問qq空間里面的留言功能時,通過google chrome瀏覽器看到的html代碼,很復(fù)雜,好在我們也有辦法處理。

private void Form1_Load(object sender, EventArgs e) 
{ 
    this.webBrowser1.Url = new Uri("http://user.qzone.qq.com/345822155/infocenter#!app=334&url=http%3A%2F%2Fctc.qzs.qq.com%2Fqzone%2Fmsgboard%2Fmsgbcanvas.html%23page%3D1"); 
}
private void button1_Click(object sender, EventArgs e) 
{ 
    if (!webBrowser1.IsBusy)//判斷有沒有加載新的文檔 
    { 
        HtmlElement searchButton = webBrowser1.Document.Window.Frames["tgb"].Document.All["btnPostMsg"];//獲取到iframe id為tgb下面的button 
        searchButton.InvokeMember("click"); 
    } 
}

更多信息,請參考:微軟官方網(wǎng)站

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI