使用VB.net或C#,如何获取生成的HTML源代码?
要获取页面的HTML源代码,可以使用以下代码,但这不会获取生成的源代码,它不包含浏览器中通过JavaScript动态添加的任何HTML。如何获取最终生成的HTML源代码?
谢谢
如果我尝试以下操作,则返回的文档不包含注入的JavaScript代码。
要获取页面的HTML源代码,可以使用以下代码,但这不会获取生成的源代码,它不包含浏览器中通过JavaScript动态添加的任何HTML。如何获取最终生成的HTML源代码?
谢谢
WebRequest req = WebRequest.Create("http://www.asp.net");
WebResponse res = req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream());
string html = sr.ReadToEnd();
如果我尝试以下操作,则返回的文档不包含注入的JavaScript代码。
Public Class Form1
Dim WB As WebBrowser = Nothing
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
WB = New WebBrowser()
Me.Controls.Add(WB)
AddHandler WB.DocumentCompleted, AddressOf WebBrowser1_DocumentCompleted
WB.Navigate("mysite/Default.aspx")
End Sub
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs)
'Dim htmlcode As String = WebBrowser1.Document.Body.OuterHtml()
Dim s As String = WB.DocumentText
End Sub
End Class
HTML返回
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="center_text_panel">
//test text this text should be here
</div>
</form>
</body>
</html>
<script type="text/javascript">
document.getElementById("center_text_panel").innerText = "test text";
</script>