using VB.net or C #, How to get the generated HTML source?
To get the html source of the page, I can use this below, but this will not lead to the creation of the generated source, it will not contain any of the html that javascript dynamically added in the browser. How to get the final generated HTML source?
thanks
WebRequest req = WebRequest.Create("http://www.asp.net"); WebResponse res = req.GetResponse(); StreamReader sr = new StreamReader(res.GetResponseStream()); string html = sr.ReadToEnd();
If I try this below, it will return the document without the JavaScript code entered
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 returned
<!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>
Hello world
source share