System.Windows.Forms.HtmlElementCollection.Links En String

Résolu
johann74270 Messages postés 12 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 2 juin 2013 - 5 sept. 2011 à 11:04
johann74270 Messages postés 12 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 2 juin 2013 - 10 sept. 2011 à 14:45
Bonjour, Je Souhaite Pouvoir Utiliser "System.Windows.Forms.HtmlElementCollection.Links" Afin De Pouvoir Afficher Tous Les Liens HyperTextes D'Une Page De Mon WebBrowser Dans Une TextBox.

Si Vous Avez D'Autres Alternative Pour Recuperer Un Liens,
J'Ai Deja Essayer Ceci, Mais Je Ne Peut Y Mettre Dans La TextBox

[Liens A Recuperer 


WebBrowser1.Document.GetElementsByTagName("]").GetElementsByName("href")
A voir également:

3 réponses

Utilisateur anonyme
5 sept. 2011 à 14:52
Bonsoir,
Voici un exemple avec expressions régulières qu'il faut tester avec un composant WebBrowser, un TextBox (multiline à True).
En espérant que tu puisse t'en servir.
Imports System.Text.RegularExpressions
Public Class Form1
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        WebBrowser1.Navigate("http://www.vbfrance.com")
    End Sub

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        'récupération de la collection des elements
        Dim collection As HtmlElementCollection = WebBrowser1.Document.All
        'liste de string qui contiendra les liens avec balises
        Dim ListeBalises As New List(Of String)
        'pour chaque element, si son tag est un lien (A) on l'ajoute à la liste
        For Each element As HtmlElement In collection
            If element.TagName = "A" Then
                ListeBalises.Add(element.OuterHtml)
            End If
        Next
        'on prépare l'expression régulière
        Dim pattern As String = "http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"
        Dim r As Regex = New Regex(pattern)
        'liste qui contiendra les liens trouvés
        Dim Liens As New List(Of String)
        'pour chaque balise A on extrait le lien
        For Each element As String In ListeBalises
            Dim resultats As MatchCollection = r.Matches(element)
            For Each m As Match In resultats
                'si il n'existe pas déjà dans la liste on l'ajoute
                If Not Liens.Contains(m.Value) Then
                    Liens.Add(m.Value)
                End If
            Next
        Next
        'on affiche dans un TextBox
        For Each lien As String In Liens
            TextBox1.AppendText(lien & Environment.NewLine)
        Next
    End Sub
End Class

Bonne prog.
3
johann74270 Messages postés 12 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 2 juin 2013
9 sept. 2011 à 18:23
ReBonjour,
Je Dois Recuperer Un Lien D'Un Fichier A Télécharger , Fichier .zip ou .rar ou .7z ou Autre, Comment Rajouter Cette Condition ??
0
johann74270 Messages postés 12 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 2 juin 2013
10 sept. 2011 à 14:45
(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))
0
Rejoignez-nous