要获取页面的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 SubEnd 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>解决方法 你可以使用 WebKit.NET
Look here正式教程
这不仅可以获取源代码,还可以通过pageload事件处理JavaScript.
webKitbrowser1.Navigate(MyURL)
然后,处理documentCompleted事件,并:
private documentContent = webKitbrowser1.documentText
编辑 – 这可能是更好的开源WebKit选项:http://code.google.com/p/open-webkit-sharp/
总结以上是内存溢出为你收集整理的使用c#或vb.net获取最终生成的html源代码全部内容,希望文章能够帮你解决使用c#或vb.net获取最终生成的html源代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)