2017-05-11 3 views
3

Es gibt viele ähnliche Posts.So erhalten Sie HTML vom WebBrowser-Steuerelement

How to get rendered html (processed by Javascript) in WebBrowser control? etwas zu verwenden, wie

webBrowser1.Document.GetElementsByTagName("HTML")[0].OuterHtml; 

Document als Objekt behandelt wird, schlägt vor, habe ich keine andere Wahl GetElementsByTagName

Copy all text from webbrowser controlDocumentText

Ich habe Document aber keine DocumentText zu verwenden, verwenden schlägt

T Hut Beitrag schlägt auch webBrowser.Document.Body.InnerText;

Ich habe die Möglichkeit, webBrowser.Document zu verwenden, aber das ist es. Aus irgendeinem Grund ist webBrowser.Document ein Objekt und als solches kann ich nicht auf diese Methoden zugreifen.

Getting the HTML source through the WebBrowser control in C# schlägt auch vor, DocumentStream zu verwenden. Auch das habe ich nicht.

Ich tue dies in einer WPF-Anwendung und mit WebBrowser von System.Windows.Controls

Alles, was ich bin versucht, die gerenderte HTML von der Webseite zu lesen ist.

Mein Code

public void Begin(WebBrowser wb) 
{ 
    this._wb = wb; 
    _wb.Navigated += _wb_Navigated; 
    _wb.Navigate("myUrl"); 
} 

private void _wb_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e) 
{ 
    var html = _wb.Document;//this is where I need help 
} 
+0

_wb.DocumentText? –

+0

@JuryGolubev, Blick auf die 6. Zeile in meinem Post. Ich habe bereits erklärt, es ist nicht als Option in Intellisense :) – MyDaftQuestions

+0

http://stackoverflow.com/questions/29972874/how-can-i-get-an-htmlelementcollection-from-a-wpf-webbrowser – Equalsk

Antwort

2

Ihre Proben beziehen sich auf die WinForms-WebBrowserControl. Fügen Sie einen Verweis auf Microsoft.mshtml (über Hinzufügen-Referenzdialog-> Suche) zu Ihrem Projekt hinzu.

Guss die Document -Property zu

Htmldocument

um Zugriffsmethoden und Eigenschaften (wie auf MSDN angegeben).

Siehe auch meine GitHub-Sample:

private void WebBrowser_Navigated(object sender, NavigationEventArgs e) { 
    var document = (HTMLDocument)_Browser.Document; 
    _Html.Text = document.body.outerHTML; 
} 
+0

Wenn Sie den HTML-Code nicht wirklich auf dem Bildschirm rendern müssen, können Sie besser mit [WebClient] (https://msdn.microsoft.com/de-de/library/system.net.webclient(v=vs.110).aspx) –

Verwandte Themen