Cette petite fonction est surtout trés utile pour passer outre les problèmes rencontrer par les Inet qui se contente d'ouvrir le source sur le site hébergeur et qui restitue continuellement le même code pour les pages php alors qu'un clic droit dans la page vous montre tout autre chose.
Avec cette fonction vous aurez la source de la page générée et non pas de la page génératrice comme le font les Inet.OpenUrl.
Mettre cette fonction dans un module
et pour l'appeler ex : if lireSource2(brwWebBrowser.Document, "toto") =true then
call faitbidule()
else
call tutebarre()
endif
Source / Exemple :
Public Function lireSource2(ByRef doc As HTMLDocument, mot As String) As Boolean
'Parametre en entree :
' - doc = HTMLDocument en provenance du WebBrowser
' - mot = mot a retrouver dans la page web (HTML ou PHP)
'Parametre en Sortie : booléen vrai si mot trouvé, faux si non
If InStr(doc.body.innerHTML, "perdu") Then
lireSource2 = True
Else
lireSource2 = False
End If
End Function
Conclusion :
Attention si la page est constituée de frame pensait à charger chacune d'elle successivement dans le brwWebBrowser, sinon vous n'obtiendrez rien, evidence mais on oublie souvent.
j'ai testé ce code car j'ai effectivement besoin de vérifier si une chaine de caractère se trouve ou non dans une page html.
Voici le code de ma petite appli qui est quasiment le même que celui plus haut:
A la ligne If InStr(doc.Body.InnerHtml, mot) j'ai l'erreur suivante: La référence d'objet n'est pas définie à une instance d'un objet.
Pourtant je reprend le code de notre ami qui a l'air de fonctionner. Quelqu'un aurait-il une idée?
Merci à vous.
Korne
à la ligne 8 mettez :
InStr(1, doc.body.innerHTML, mot, 1)
Si vous voulez rechercher un mot dans la page web sans vous soucier des minuscules/majuscules (si vous recherchez "perdu" et qu'il trouve "PeRDu" il renverra VRAI)
ou alors mettez :
InStr(1, doc.body.innerHTML, mot, 0)
Si vous voulez vous souciez des minuscules/majuscules (si vous recherchez "perdu" et qu'il trouve "PeRDu" il renverra FAUX)
--------------------------------------
Syntaxe :
InStr(A, B, C, D)
Avec :
A : le n° du caractère de la chaine de caractères à partir duquel il faut commencer la recherche
B: la chaine de caractères (ici la page web) dans laquelle on rechreche une autre chaine de caractères
C: la chaine de caractères recherchée
D: 0 ou 1 --> 0: différence entre majuscules et minuscules
1: pas de différence minuscules/majuscules
Voilà! En espérant que cela vous aidera!
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.