Webbrowser html text auslesen ohne id (<h2>text</h2>)

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Lual.

    Webbrowser html text auslesen ohne id (<h2>text</h2>)

    Hallo ich arbeite an einen kleinen Project doch ich habe ein Problem ich möchte aus dem <body> eine text überschrift auslesen damit meine ich nicht den seiten titel. Und das Problem ist dieser text hatt keine id darum möchte ich fragen ob man des irgend wie einlesen kann und falls nötig rausfiltern kann das nur noch z.b. "Du hast erfolgreich den <h2></h2> text gelesen
    Wenn das <h2></h2> mehrfach vorkommt über RegEx, ansonsten über

    VB.NET-Quellcode

    1. txt.IndexOf("<h2>")
    2. ' und
    3. txt.IndexOf("</h2>")
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Dim Programmer as string
    Du musst ja auch txt erst deklarieren und der Stringvariable den Quelltext (.DocumentText) zuweisen.
    Ich würde dir aber RegEx raten ...
    Sieht erstmal krass aus, ist aber absolut mächtig.

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.Text.RegularExpressions
    3. Public Class Form1
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. Dim quellcode As String = "blablabla<h2>Wichtige Informationen</h2>blabla" 'Dein Ausgangstext (der Quellcode)
    6. quellcode.Replace(Environment.NewLine, "") '(optional alle Zeilenumbrüche entfernen)
    7. Dim r As New Regex("<h2>(?<deintext>(.*?))<.h2>") 'Neues RegEx mit Suchmuster (alles von <h2> bis </h2>)
    8. Dim matches As MatchCollection = r.Matches(quellcode) 'Alle Übereinstimmungen holen
    9. For Each m As Match In matches 'Für jede
    10. Dim result As String = m.Groups("deintext").Value 'Das zwischen <h2> ... speichern
    11. If result.Contains("@") OrElse result.Contains("$") Then 'Mit Stringfunktionen auf verschiedende Sachen prüfen (optional)
    12. Else 'Sonst
    13. MessageBox.Show(result) 'Ergebnis zeigen (optional)
    14. End If
    15. Next
    16. End Sub
    17. End Class

    Dim Programmer as string schrieb:

    die meldung txt ist nicht deklariert
    Wir sind hier im Hauptforum.

    VB.NET-Quellcode

    1. Dim Programmer as string = DER_TEXT_HALT_AUS_DEINER_SEITE
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Kuggst du da :

    VB.NET-Quellcode

    1. Dim name As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("DeinTag zum bsp.input,a,...")
    2. Dim x As Integer
    3. For x = 0 To name.Count - 1
    4. MsgBox(name(x).InnerText)
    5. Next
    Wenn ich es richtig verstanden hab, müsste es so gehen:

    VB.NET-Quellcode

    1. Dim src As String = wb1.DocumentText
    2. Dim i1 As Integer = scr.IndexOf ("<h2>")
    3. Dim i2 As Integer = scr.IndexOf (</h2>
    4. Scr = scr.Remove (i1, i2)



    Lg lual