vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: HTML/Internet/Netzwerk · WebBrowser   |   VB-Versionen: VB.NET10.11.06
Quelltext einer Webseite auslesen (VB 2005)

Dieser Tipp zeigt, wie man mit dem WebBrowser-Control unter VB 2005 den Quelltext einer Webseite auslesen kann.

Autor:   Michael SchoberBewertung:     [ Jetzt bewerten ]Views:  36.577 
ohne HomepageSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Dieser Tipp zeigt, wie man mit dem WebBrowser-Control unter VB 2005 den Quelltext einer Webseite auslesen kann - entweder den gesamte oder auch nur den Quelltext eines einzelnen Frames.

Bevor man den Quelltext über das WebBrowser-Control auslesen kann, muss jedoch erst einmal sichergestellt werden, dass die Webseite vollständig geladen wurde. Dies erledigen wir mit nachfolgender Funktion:

' Seite öfnen und warten, bis vollständig geladen
Private Function LoadURL(ByVal sURL As String) As Boolean
  Dim nTimeout As Integer
  Dim vStart As Date
  Dim bResult As Boolean = True
 
  Me.Cursor = Cursors.WaitCursor
  With WebBrowser1
    ' URL übergeben
    .Navigate(sURL)
 
    ' Warten, bis vollständig geladen
    ' Timeout auf 30 Sek. festlegen
    nTimeout = 30
    vStart = Now
 
    Do While .ReadyState <> WebBrowserReadyState.Complete
      Application.DoEvents()
      ' Timeout ?
      If DateDiff(DateInterval.Second, vStart, Now) > nTimeout Then
        bResult = False
        Exit Do
      End If
    Loop
  End With
  Me.Cursor = Cursors.Default
 
  Return bResult
End Function

Anschließend lässt sich mit nachfolgender Codezeile der Seitenquelltext auslesen:

' Seitenquelltext des gesamten Dokuments
Dim sQuelltext As String = WebBrowser1.DocumentText.ToString
' Seitenquelltext eines bestimmten Frames
Dim sQuelltext As String
With WebBrowser1.Document.Window.Frames("Framename")
  sQuelltext = .Document.Body.InnerHTML.ToString
End With