Webbrowser "Ladeseite" überspringen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Majomi.

    Webbrowser "Ladeseite" überspringen

    huhu liebe Community,

    ich nutze den Webbrowser folgendermaßen, um den HTML Code zu erlangen, sodass ich die Webseite modifiziert darstellen möchte, allerdings scheitere ich daran, den richtigen "HTML-Code" zu bekommen ,da ich per Programmierbefehl eine Ladepage erwische.

    VB.NET-Quellcode

    1. Using webClient As New WebClient()
    2. webClient.Encoding = Encoding.UTF8
    3. gethtml = webClient.DownloadString("https://" + cloudpage.ToString)
    4. End Using


    Surfe ich mittels Chrome Browser, erscheint dieser Ladescreen nicht.

    Die Variable gethtml sieht so aus:

    HTML-Quellcode

    1. <!DOCTYPE html> <html lang="en"> <head> <title>Loading site please wait...</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="CACHE-CONTROL" content="NO-CACHE">
    2. ....



    Gelange ich auf diesen Link via Chrome Browser, so erscheint die richtige HTML-Webseite, und kann mittels "Seitenquelltext" auch den erwünschten HTML-Code erlangen.

    Wie kann ich den Webbrowser zur Laufzeit erzwingen, diese Loadingseite zu "überspringen"?
    PS: Nutze ich den Webbrowser.Control, so funktioniert es auch nicht ordentlich, ich will aber versuchen, das Control zu vermeiden und es direkt per Code zu versuchen :(


    Vielen Dank und mit freundlichem Gruß

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Semiconductor“ ()

    Ok, also das du versuchst das Control zu vermeiden ist schonmal super. Das Problem ist nur, dass beim Ladem der Seite Javascript (Js) ausgeführt wurd. Javascript kann eine Webseite verändern.
    So läuft das Ganze (stark vereinfacht) im Webbrowser ab:
    Webbrowser fragt das Html an -> Webbrowser bekommt das Html -> Webbrowser Parst das Html und führt Javascript aus -> Webbrowser zeigt die Seite an.
    Sobald das Javascript ausgeführt wirde nennt man das Ganze DOM-Html.
    Und bei einer Webrequest sieht das Ganze so aus:
    Webrequest mag die Html Seite vom Server -> Server sendet die Html Seite an den Client.

    Also bekommst du nicht das Dom-Html und das brauchst du.

    Also jetzt eine Webbrowser nutzen? Nein denn Vb sollte auch einen Parser haben, der Js-Code ausführen kann und du brauchst dafür keinen Webbrowser.

    Ich würde also mal nach VB.Net get Dom-Html oder so ähnlich googlen.

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread

    Ich habe bereits per Dot Gethtml einige Sachen versucht, bin aber gescheitert und bekomme dieselbe HTML Webseite.

    Ich habe folgendermaßen eine Lösung bekommen, die aber seeehr ekelig ist und ich das um jeden Preis vermeiden will :(((

    VB.NET-Quellcode

    1. Threading.Thread.CurrentThread.Sleep(2000)
    2. Try
    3. RichTextBox2.AppendText(WebBrowser1.DocumentText)
    4. Catch ex As Exception
    5. End Try


    Ich stelle quasi per Webbrowser die Webseite, die auch erfolgreich geladen wird und warte ein bisschen, damit der Quellcode DANN heruntergeladen werden kann.