程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# webbrowser開發指南

C# webbrowser開發指南

編輯:C#入門知識

C# webbrowser開發指南


全篇引用單元mshtml;

路徑:C:\windows\assembly\GAC\Microsoft.mshtml\7.0.3300.0__b03f5f7f11d50a3a\Microsoft.mshtml.dll //不同的版本路徑不同


一、如何用Webbrowser獲取網頁的全部源代碼

1.不含框架

string s= WB1.DocumentText;

2.含有框架

IHTMLDocument2 doc=WB1.Document.DomDocument as IHTMLDocument2;
IHTMLFramesCollection2 frames=doc.frames as IHTMLFramesCollection2;
int i_frame=0; //第1個框架
IHTMLWindow2 frame=frames.item(ref i_frame) as IHTMLWindow2;
IHTMLDocument2 doc2=frame.document as IHTMLDocument2;
IHTMLDocument3 doc3=frame.document as IHTMLDocument3;

strings = doc2.body.innerHTML;

二、webbrowser如何獲取網頁的元素

1.根據元素ID

HtmlElement ele= WB1.Document.GetElementById("ID");


2.根據元素Name

HtmlElement ele= WB1.Document.All["Name"];


3.無ID無Name的元素

3.1 webbrowser遍歷網頁元素:

HtmlDocument doc=WB1.Document;

HtmlElementCollection elements=doc.All;

foreach(HtmlElement element in elements)

{

if (element.GetAttribute("innerText") == "提交回答") //元素的innnerText屬性為“提交回答”

{

element.InvokeMember("Click"); //模擬點擊

break;

}

}

3.2 webbrowser 根據元素的Tag遍歷(input,a,img,span,li,div等)

input: 所有可輸入的類型,例如文本框、勾選框、復選框、下拉列表、圖片等

a: A標簽,可以帶超鏈接

img: 圖片類型

span: SPAN類型

li: 下拉列表,列表框等

div: DIV


HtmlElementCollection eles = WB1.Document.GetElementsByTagName("a") as HtmlElementCollection;
foreach (HtmlElement ele in eles)
{
if (ele.GetAttribute("href") != null)
if (ele.GetAttribute("href") == "A標簽的超鏈接")
{
element.InvokeMember("Click"); //模擬點擊
break;
}
}

3.3 根據元素的索引序號

HtmlElement ele=WB1.Document.All[0]; //第1個元素

HtmlElement ele= WB1.Document.GetElementsByTagName("input")[0]; //第一個inuput類型的元素

3.4 根據已知元素獲取未知元素




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved