Webbrowser HTML-Zeile ändern

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Cell.

    Webbrowser HTML-Zeile ändern

    Sehr geehrte Community,

    ich habe ein Problem in Sachen Webbrowser. Ich beschreibe mein Problem mal an einem Beispiel.

    Sagen wir der Code, der Seite wäre folgender:

    <html>
    <body>
    <h3>Überschrift</h3>
    <h1>BSP</h1>
    </body>
    </html>

    Ich möchte den Text "BSP" durch "Beispiel" ersetzen.
    Ich hänge daran, das HTML-Document zu bearbeiten, da .ToString() in dem Falle nicht funktioniert und einfach den DocumentText des Webbrowsers auszulesen und diesen zu ändern kann man auch vergessen. In diesem steht mein Text nämlich (aus welchen Gründen auchimmer) nicht drin.


    Ich hoffe auf baldige Hilfe und danke im Vorhinein!

    LG. :)
    Frage. Forderst du den Quelltext der Seite an.
    Zeig doch mal den Code den du bis jetzt hast

    Ansonsten.
    Http-Request und das Regualexpression

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Facebamm“ ()

    *Vollzitat entfernt*

    Bis jetzt habe ich eigentlich nur das Webbrowser-Control auf die Seite navigiert und dann mit Webbrowser1.Document die HTML-Datei abgerufen. Mit Http-Request wird das denk ich auch nicht realisierbar sein, da man die Cookies vom Webbrowser-Control (IE) benötigt um bereits eingeloggt auf die Seite zu kommen. Soweit ich das bis jetzt verstanden habe ist das mit Http-Request ja nicht möglich.

    Edit: Außerdem ist mir aufgefallen, dass ich mit einem HTTP-Request auch nicht den ganzen Sourcecode bekomme, den ich z.B. in Chrome/Firefox usw. einsehen kann.

    Edit by ~blaze~:
    *Vollzitat entfernt*

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

    luck2y schrieb:


    In diesem steht mein Text nämlich (aus welchen Gründen auchimmer) nicht drin.


    Werde aus deinem Post nicht ganz schlau was du eigentlich willst.

    DokumentText gibt dir den Inhalt der Webseite zurück.
    Hier mal dein gegebener HTML Code aus einem File heraus.

    C#-Quellcode

    1. using System;
    2. using System.IO;
    3. using System.Windows.Forms;
    4. namespace WindowsFormsApplicationTestProjekt
    5. {
    6. public partial class Form1 : Form
    7. {
    8. public Form1()
    9. {
    10. InitializeComponent();
    11. }
    12. private void Form1_Load(object sender, EventArgs e)
    13. {
    14. string curDir = Directory.GetCurrentDirectory();
    15. this.webBrowser1.Url = new Uri(String.Format("file:///{0}/test.html", curDir));
    16. }
    17. private void button1_Click(object sender, EventArgs e)
    18. {
    19. string ret = webBrowser1.DocumentText;
    20. MessageBox.Show(ret);
    21. }
    22. }
    23. }

    Das Testfile findest du im Anhang.
    Einfach in den Debug Ordner legen.

    Gruss

    mikeb69
    Dateien
    • test.html

      (75 Byte, 295 mal heruntergeladen, zuletzt: )
    *Vollzitat entfernt*

    Mal abgesehen davon, dass ich das ganze in VB machen will - nicht in C# - funktioniert das ganze mit in dem Fall diversen Instagramseiten (instagram.com/username) nicht. Da wird mir der HTML-Text nicht ausgegeben.

    Edit by ~blaze~:
    *Vollzitat entfernt*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()

    @luck2y
    1. hier im Forum wird es nicht gerne gesehen, wenn ein kompletter Post zitiert wird.
    2. Was ist an einer Antwort in C# falsch - auch wenn du VB.NET verwendest ?
    3. Hab mir mal die Mühe gemacht und die Ausgabe über das WebControl und den Quellcode im Firefox verglichen.
      Beide Ausgaben sind vom Inhalt identisch, leichte Verschiebungen der Zeilen ignoriere ich mal.
    [*]Also - Inhalt identisch, Reihenfolge des Inhaltes nicht.
    Warum das so ist weiß ich nicht.

    Gruss

    mikeb69
    Man nehme eine textbox (txtUrl), einen Button (btnLoadSIte), eine Richtextbox (rtbSource) und ein WebbrowserControl (webbrowser) das alles klatscht man dann auf eine Form und nutze folgenden code:

    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. webbrowser.ScriptErrorsSuppressed() = True 'Wird benötigt damit der webbrowser keine Scriptfehler wirft
    3. End Sub
    4. Private Sub btnLoadSite_Click(sender As Object, e As EventArgs) Handles btnLoadSite.Click
    5. Dim wc As New WebClient
    6. Dim source As String
    7. source = wc.DownloadString(txtURL.Text)
    8. rtbHTMLSource.Text = source
    9. End Sub
    10. Private Sub rtbHTMLSource_TextChanged(sender As Object, e As EventArgs) Handles rtbHTMLSource.TextChanged
    11. webbrowser.DocumentText = rtbHTMLSource.Text
    12. rtbHTMLSource.Focus()
    13. End Sub


    Abgesehen von der einen komentierten Seite sollte klar sein was hier passiert ^^