none
Find et Webbrowser RRS feed

  • Question

  • J'utilise un contrôle Webbrowser dans une appli VB et Framework 2.0, Visual Studio 2005. J'ai désactivé les raccourcis et le menu contextuel. Je souhaite maintenant faire une recherche sur le texte. Comment faire ? Il n'existe apparement pas de commande à utiliser avec ExecCommand. Les exemples disponibles d'invocation fonctionnent avec des versions antérieures.

     

    lundi 4 juin 2007 05:05

Réponses

  • Souhaitez-vous afficher le dialogue "Rechercher" (Find) du WebBrowser ? ou bien rechercher manuellement une string dans la page web déjà chargé dans le control WebBrowser

     

    Dans le 1er cas, pour invoquer la dialogue Rechercher, vous pouvez faire

    wb.ActiveXInstance.ExecWB(OLECMDID.OLECMDID_FIND, OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, v, v)

    en ayant défini au préalable des enum pour les différentes valeurs de OLECMDID. Pour plus d'information, allez sur http://msdn2.microsoft.com/en-us/library/ms691264.aspx. Grace à cela, j'ai réussi à implémenter la fonctionnalité Zoom (de IE 7) dans mon appli WinForm.

     

    Dans le 2eme cas, utiliser innerText et scanner la string en question. Voir HtmlElement

     

    Luc

     

     

    jeudi 6 décembre 2007 13:34

Toutes les réponses

  • Si tu regardes les membres de la classe de WebBrowser tu pourras voir qu'il y a une propriete Text

    Donc si cette propriete Text contient bien le contenu du browser (ce que je pense ne l'ayant jamais utilise...)

    Tu peux faire monWebBrowser.Text.IndexOf("la chaine que je recherche") pour trouver la premiere occurence

    recherchee...

    lundi 4 juin 2007 12:27
  • Je te remercie. En effet la propriété DocumentText possède bien une méthode IndexOf, cela fonctionne bien. Il reste maintenant à faire défiler l'affichage sur l'occurence trouvée. Connais-tu la solution ?
    lundi 4 juin 2007 20:22
  • Regarde si tu n'as pas une methode .Select() sur le DocumentText ou Text

    si c'est le cas tu files a Select() ce qu'a retourne le IndexOf() s'il a trouve qqch evidement...

     

    mardi 5 juin 2007 07:50
  • J'ai le meme probleme mais j'utilise VB 6.0. Ce qui fait que les explications ne marche pas pour moi. Pouvez vous m'aider?
    Merci d'avance
    jeudi 28 juin 2007 11:26
  • Souhaitez-vous afficher le dialogue "Rechercher" (Find) du WebBrowser ? ou bien rechercher manuellement une string dans la page web déjà chargé dans le control WebBrowser

     

    Dans le 1er cas, pour invoquer la dialogue Rechercher, vous pouvez faire

    wb.ActiveXInstance.ExecWB(OLECMDID.OLECMDID_FIND, OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, v, v)

    en ayant défini au préalable des enum pour les différentes valeurs de OLECMDID. Pour plus d'information, allez sur http://msdn2.microsoft.com/en-us/library/ms691264.aspx. Grace à cela, j'ai réussi à implémenter la fonctionnalité Zoom (de IE 7) dans mon appli WinForm.

     

    Dans le 2eme cas, utiliser innerText et scanner la string en question. Voir HtmlElement

     

    Luc

     

     

    jeudi 6 décembre 2007 13:34