Webkit links aus Seite auslesen

27/10/2011 - 14:56 von Hermie | Report spam
Hallo nochmal.

Wie kann ich denn die links aus einer Webseite auslesen?

Im Webkit habe ich weder "AnchorElement" noch "links" noch "href" im
Objektbrowser gefunden.

Gruß,
Hermann
 

Lesen sie die antworten

#1 Schmidt
27/10/2011 - 15:31 | Warnen spam
Am 27.10.2011 14:56, schrieb Hermie:
Hallo nochmal.

Wie kann ich denn die links aus einer Webseite auslesen?

Im Webkit habe ich weder "AnchorElement" noch "links"
noch "href" im Objektbrowser gefunden.




Hierzu hab ich bereits ein wenig Code gepostet
(in meiner ersten Antwort auf Martin, ca. 13:31)...

Aber hier nochmal eine bereits leicht "gehàrtete"
Variante (inkl. On Error wrapping beim Testen
auf das nicht immer besetzte hRef-Attribute
der <a>-Tags):

Private Sub Browser_LoadFinished(ByVal BackCount As Long, _
ByVal ForwardCount As Long)
txtURL.BackColor = vbWindowBackground

Dim Doc As IDOMDocument
Set Doc = WebKitHost.Browser.Document '<- Cast von Variant-ReturnType

Debug.Print "-Start Body-innerText-Ausgabe-"
Dim Body As IDOMHTMLElement
Set Body = Doc.GetElementsByTagName("body").item(0)
Debug.Print Body.innerText
Debug.Print "--Ende Body-innerText-Ausgabe--"; vbCrLf

Debug.Print "Start Enumeration von Link-Tags"
Dim i As Long, NodeList As IDOMNodeList
Dim Node As IDOMNode, LnkElmt As IDOMHTMLElement
Set NodeList = Doc.GetElementsByTagName("a") 'Link-NodeList
If Not NodeList Is Nothing Then
For i = 0 To NodeList.length - 1
Set Node = NodeList.item(i)
Set LnkElmt = Node 'cast von IDOMNode auf IDOMHTMLElement
Debug.Print LnkElmt.innerText; " --> ";

On Error Resume Next
Set Node = LnkElmt.Attributes.getNamedItem("href")
On Error GoTo 0
If Not Node Is Nothing Then
Debug.Print Node.textContent
Else
Debug.Print
End If
Next i
End If
Debug.Print "--Ende Enumeration von Link-Tags-"; vbCrLf
End Sub

Olaf

Ähnliche fragen