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的样式