Source d'une page

Résolu
rsx602 Messages postés 140 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 28 août 2014 - 16 août 2010 à 19:12
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 17 août 2010 à 08:06
Bonjours je cherche la source d'une page pour executer une commande une fois la source trouvé. Le probleme cest que quand je clic sur View Source dans mon webbrowser1 ya rien qui se passe il ne me monte pas la source et si je passe par chrome la source n'est pas écrite pareil car dun Broswer a un autre la maniere de l'écrire change. Le browser de vb6 étant vieu et IE8 récent sa ne dois pas etre pareil non plus. Quelqun cest comment faire affichier la source de mon webbrowser apartir du program? Merci

,.-~*'¨¯¨'*·~-.¸-(_..::] xX¿[Blind]?Xx [::.._)-,.-~*'¨¯¨'*·~-.¸

9 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 août 2010 à 06:06
Ok... pas confondre mise en forme et texte telecharge...
fais en fonction du code que tu obtiens (places ca dans un fichier texte)

et non pas en fonction du rendu dans tel ou tel soft<

Chrome affiche le tout de a la maniere d'une arborescence.

Pratique, mais il ne faut pas prendre cela pour argent comptant...

utilises le DOM ou des RegExp pour recuperer ce que tu cherches...

Exemple rapide :

Dim CodeSourceHTML As String
    CodeSourceHTML =  "Fonctionne meme avec tout le code HTML...

" & vbNewLine & _
                     "    
00:00:23
" & vbNewLine & _
                     "    
Temps: 30sec
" & vbNewLine & _
                     "
 reste du code HTML "
Dim oMatch As Object
    With CreateObject("VbScript.RegExp")
        .MultiLine  = True
        '# Activer la ligne suivante si tu attends plus d'un resultat
        '.Global = True
        '# Pas simple a lire, mais tres efficace
        .Pattern = "
\s*
\s*(\d{2}:\d{2}:\d{2})\s*
\s*
\s*Temps:\s*(\d+\w+)\s*
\s*
"
    
        '# Si un resultat a ete trouve...
        If .Test(CodeSourceHTML) Then
            For Each oMatch In .Execute(CodeSourceHTML)
                MsgBox oMatch.submatches(0) & " => " & oMatch.submatches(1)
            Next
        End If
    End With


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 août 2010 à 20:28
Salut
Non, les données d'un navigateur à l'autre ne devraient pas changer : elles proviennent du même serveur !
Une recherche de "source page" parmi les codes t'aurait donner des solutions.
Celle que je te recommande est le composant INet avec sa méthode .OpenURL qui te renverra le texte de la page.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 août 2010 à 21:06
ca peut changer...

en testant le user-agent, par exemple, ou en cas de contenu dynamique avec des choses plus ou moins prises en charge


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
rsx602 Messages postés 140 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 28 août 2014
17 août 2010 à 00:30
Ah parfait sur google chrome de la maniere que c'est montré dans le code source cest un en dessou de lautre mais je vien de constaté que quand je copie en HTML sa me donne tout sur la meme ligne ,

00:00:23

Temps: 30sec

, moi jutilise la méthode suivante : if (InStr(1, Form1.WebBrowser1.Document.documentElement.innerHTML, "Le Code a Rechercher")) then , c'est éfficase?? Merci beaucoup de votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 août 2010 à 00:31
Ah oui, tu as raison.
A approfondir.
0
rsx602 Messages postés 140 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 28 août 2014
17 août 2010 à 06:18
hmm merci beaucoup de l'aide renfield quand j'essail de mettre dans dans un timer il trouve rien aucune erreur mais aucune msgbox j'ai fait sa come suis : "
" & vbNewLine & "
00:00:11
" & vbNewLine & "
Temps: 30sec
" , se qui devrai etre suffisant pour trouvé le code dans la page non? ensuite (je suis nouveau dans le domaine du code source :S) j'ai peine misère a comprende : .Pattern = "......." Merci beaucoup de votre aide c'est vraiment aprécier!!!!


,.-~*'¨¯¨'*·~-.¸-(_..::] xX¿[Blind]?Xx [::.._)-,.-~*'¨¯¨'*·~-.¸
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 août 2010 à 06:38
pas suffisant, non...

manque un Div :


...



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
rsx602 Messages postés 140 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 28 août 2014
17 août 2010 à 07:26
Parfait je vais esailler sa demain car le site est présentement en "veille" pour la nuit. j'ai mis sa ainsi pour linstant : CodeSourceHTML = "
" & vbNewLine & "
00:00:11
" & vbNewLine & "
Temps: 30sec
" & vbNewLine & "
" , se qui messemble correcte a premiere vue. Pour se qui est du Pattern j'ai pas a touché a se qu'il y a entre les guillemet? Merci beaucoup a toi Renfield pour ton aide!!
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 août 2010 à 08:06
Le pattern est valide pour ce type de contenu...
a adapter si le code source est plus variant que cela.

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
Rejoignez-nous