System.Windows.Forms.HtmlElementCollection.Links En String [Résolu]

johann74270 13 Messages postés dimanche 2 novembre 2008Date d'inscription 2 juin 2013 Dernière intervention - 5 sept. 2011 à 11:04 - Dernière réponse : johann74270 13 Messages postés dimanche 2 novembre 2008Date d'inscription 2 juin 2013 Dernière intervention
- 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")
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Utilisateur anonyme - 5 sept. 2011 à 14:52
3
Merci
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.

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
johann74270 13 Messages postés dimanche 2 novembre 2008Date d'inscription 2 juin 2013 Dernière intervention - 9 sept. 2011 à 18:23
0
Merci
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 ??
Commenter la réponse de johann74270
johann74270 13 Messages postés dimanche 2 novembre 2008Date d'inscription 2 juin 2013 Dernière intervention - 10 sept. 2011 à 14:45
0
Merci
(?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`!()\[\]{};:'".,<>?«»“”‘’]))
Commenter la réponse de johann74270

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.