webbrowser是一個比較實用的工具,主要用于在winform窗體中嵌入瀏覽器,達(dá)到winform與webform互操作的目的。
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、和政網(wǎng)絡(luò)推廣、小程序制作、和政網(wǎng)絡(luò)營銷、和政企業(yè)策劃、和政品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供和政建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
先上一個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,再點搜索按鈕,而是直接點擊一個按鈕進(jìn)行搜索)。
原理很簡單,就是通過查找在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)站