vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
WPF/VB.NET HTML Content zu Label/Text 
Autor: steffen77
Datum: 23.01.22 18:05

Hallo Forum,

ich möchte gerne in meiner WPF Anwendung Text von einer HTML Webseite auslesen. Zusätzlich soll sich ein Bild noch ändern, wenn als ID z.B. "STOP" steht (das ist aber der nächste Step).

Es klemmt schon bei dem Label.

Mein Code sieht so aus:
Imports System.IO
 
 
Class MainWindow
    Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles button2.Click
        WebBrowser1.Navigate("C:\Users\steff\Desktop\Webseite\test.htm")
        Dim ImageInhalt As String
 
        label1 = WebBrowser1.Document.GetElementById("mytext").GetAttribute( _
          "value")
 
        'ImageInhalt = WebBrowser1.Document.GetElementById( 
        ' "mytext2").GetAttribute("value")
        ' If ImageInhalt.Contains("STOP") Then
        'PictureBox1.Image = My.Resources._stop
        'End If
    End Sub
End Class
Wenn ich das so ausführe sagt er mir immer "System.NullReferenceException: "Die Objektvariable oder die With-Blockvariable wurde nicht festgelegt.". Was kann ich den da machen?

Meine HTML Datei sieh wie folgt aus:
<input type="text" name="mytext" value="Hallo"/><br/>"
<input type="text" name="mytext2" value="OK"/><br/>
Vielen Dank schon mal!
Steffen

Beitrag wurde zuletzt am 23.01.22 um 18:08:06 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: WPF/VB.NET HTML Content zu Label/Text 
Autor: Manfred X
Datum: 24.01.22 06:35

Hallo!

Das hängt vom Aufbau Deiner Webseite ab.
Hier ein Win-Forms-Beispiel.
Public Class frmWebTest
 
    Dim WithEvents web As New WebBrowser With 
           {.Parent = Me, .Width = 400, .Height = 400, .Top = 50, .Left = 10}
 
    Dim lbl As New Label With 
           {.Parent = Me, .Top = 10, .Left = 10, .Width = 400}
 
 
 
    Private Sub frmWebTest_Load(sender As Object, e As EventArgs) Handles _
      MyBase.Load
        Me.Size = New Size(500, 500)
 
        'Der Code zur Webseite 
        Dim txt As String = "<html><body>" & vbCrLf &
                            "<input type=" & Chr(34) & "text" & Chr(34) &
                            "name=" & Chr(34) & "mytext" & Chr(34) &
                            "value=" & Chr(34) & "Hallo" & Chr(34) & _
                              "/><br/>" & vbCrLf &
                            "</body></html>"
 
        'Erstellung der Webseite
        IO.File.WriteAllText("G:\downloads\test_xxx.htm", txt)
 
        'Navigation zur Webseite
        web.Navigate("G:\downloads\test_xxx.htm")
    End Sub
 
 
 
    Private Sub web_DocumentCompleted(sender As Object, e As _
      WebBrowserDocumentCompletedEventArgs) _
                   Handles web.DocumentCompleted
 
        'Alle Elemente auflisten
        Dim hc As HtmlElementCollection = web.Document.All
 
        'Elemente untersuchen
        Dim en As String, tg As String
        For i As Integer = 0 To hc.Count - 1
            en = hc(i).Name
            If en = "mytext" Then tg = hc(i).TagName
        Next i
 
        hc = web.Document.GetElementsByTagName(tg).GetElementsByName("mytext")
 
        'oder direkt so:
        'hc = web.Document.GetElementsByTagName("INPUT").GetElementsByName( 
        ' "mytext")
 
        lbl.Text = hc(0).GetAttribute("value")
 
    End Sub
 
End Class
Falls Du die Seite selbst entwirfst, kannst Du Elementen eine eindeutige ID zuordnen.

       Dim txt2 As String = "<html><body>" & vbCrLf &
                            "<input type=" & Chr(34) & "text" & Chr(34) &
                            "name=" & Chr(34) & "mytext" & Chr(34) &
                            "ID=" & Chr(34) & "12345" & Chr(34) &
                            "value=" & Chr(34) & "Hallo" & Chr(34) & _
                              "/><br/>" & vbCrLf &
                            "</body></html>"


Beitrag wurde zuletzt am 24.01.22 um 06:53:38 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel