cwebbrowser獲取源碼
⑴ c#的webbrowser如何獲得iframe里通過javascript生成的源代碼
直接是不行的。
1、用c#往webbrowser裡面外層網頁注入一段javascript,這清螞段javascript的作用是向iframe注入代答局埋碼。臘棚
2、向iframe注入的代碼的作用是獲取document的源代碼;
3、把獲取到的源代碼返回到外層網頁裡面的一個對象里。
4、用c#從外層網頁取這個源代碼。
⑵ C# winform 如何獲取網頁源碼中的數據
private void button1_Click(object sender, EventArgs e)
{
try
{
if (this.txtUrl.Text.Trim().Length == 0)
{
("請輸入主入口地址!");
}
else
{
//這里獲取GetWebContent方法的結果
string webContent = GetWebContent(this.txtUrl.Text.Trim());
//聲明一個WebBrowser
WebBrowser webBrowser = new WebBrowser();
webBrowser.Navigate("about:blank");
//將GetWebContent方法返回的結果轉化為HtmlDocument,就可以正確處理網頁中的元素了。
HtmlDocument htmlDoc = webBrowser.Document.OpenNew(true);
htmlDoc.Write(webContent);
//獲取網頁中Body中的Html代碼
string outerHtml = htmlDoc.Body.OuterHtml;
//獲取網頁的標題
string outerTitle=htmlDoc.Title;
this.txtDocumentTitle.Text = outerTitle;
this.txtDocumentConent.Text = outerHtml;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
⑶ 如何使用webbrowser控制項獲取網頁源代碼
使用WebBrowser控制項獲取網頁源碼的方法,大多數的人都是使用以下的方法獲取:
(WebBrowser1.Document as IHtmlDocument2).body.outerHtml;
這種方法的野陵美中不足就是只能獲取網頁<body>與<帆伍/body>之間的網頁源碼,而<body>之外如<head>部分的網頁源碼就獲取不到了,下面是某大牛老師給大家分享的方法,可參考:
procere TForm1.Button1Click(Sender: TObject);
var
ole_index, oleObj: OleVariant;
i: integer;
begin
if WebBrowser1.Busy then Exit; //網頁載入中,退出。
Memo1.Lines.Clear;
//獲取主框架網址及網頁源碼
Memo1.Lines.Add(WebBrowser1.OleObject.document.url);
Memo1.Lines.Add(WebBrowser1.OleObject.document.documentElement.outerHTML);
Memo1.Lines.Add(' '); Memo1.Lines.Add(' '); //添加空行
//循環獲取每一個子框架態脊或網址及網頁源碼
for i := 0 to WebBrowser1.OleObject.document.frames.length - 1 do
begin
ole_index := i;
oleObj := WebBrowser1.OleObject.document.frames.item(ole_index);
Memo1.Lines.Add(oleObj.document.url);
Memo1.Lines.Add(oleObj.document.documentElement.outerHtml);
Memo1.Lines.Add(' '); Memo1.Lines.Add(' '); //添加空行
end;
end;
⑷ 如何使用webbrowser獲取網頁的源代碼
我用vb6,c++我迅談不熟
輸入網址槐羨後畝明碰回車就可以顯示源代碼
Private Sub Command1_Click()
WebBrowser1.Navigate Editbox1.Text
End Sub
Private Sub Editbox1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Set xmlHTTP1 = CreateObject("Microsoft.XMLHTTP")
xmlHTTP1.Open "get", Editbox.Text, True
xmlHTTP1.send
While xmlHTTP1.readyState <> 4
DoEvents
Wend
Editbox2.Text = xmlHTTP1.responseText
Set xmlHTTP1 = Nothing
End If
End Sub
⑸ C# WebBrowser 獲取顯示網頁的源代碼
獲取源代碼直備困讓接在Document里仿局面處理:
tempBrowser.DocumentCompleted += new (tempBrowser_DocumentCompleted);
private void tempBrowser_DocumentCompleted(object sender, e)
{
string s=tempBrowser.DocumentText; //獲取到源尺罩代碼
MessageBox.Show(s); //輸出
}
⑹ 用WebBrowser提取網頁源代碼,c#
文本框1,輸入地址,文本框2顯示源碼。點擊按鈕開始陵擾獲取。關鍵注意編碼,我寫了兩個,有些網站是utf-8編碼,有些是默認,如果一個不行就換另外一個
private void button1_Click(object sender, EventArgs e)
{
WebRequest request = WebRequest.Create(textBox1.Text);//實襲汪漏例化WebRequest對象
WebResponse response = request.GetResponse();//創建WebResponse對象拍爛
Stream datastream = response.GetResponseStream();//創建流對象
Encoding ec = Encoding.UTF8;
Encoding EC = Encoding.Default;
StreamReader reader = new StreamReader(datastream, EC);
string responseFromServer = reader.ReadToEnd();//讀取數據
richTextBox1.AppendText(responseFromServer);//添加到RichTextBox控制項中
reader.Close();
datastream.Close();
response.Close();
}
⑺ C# webbrowser 顯示內容的html源碼問題
webbrowser .documenttext
獲取源碼, 值得注意的是要留給webbrowser 一個響應時間。 一般獲取源碼都寫在 webbrowser 的默認 頁面載入完畢 事件中。
你說的方法可以實現。我不久前做過的一個C/S結構的OA系統中有一個公告滾動的效果就啟鎮是用這個方法做到的。
當時我的實現方法是把webbrowser 的默認url給了悄手粗一個空薯渣白的本地html
然後通過
webBrowser1.Document.Write(htmlStr);
webBrowser1.Refresh();
來更新webBrowser的樣式