[WDxx] Simuler un click sur un bouton SUBMIT graphique dans l'activex I.Explorer
5 réponses
Georges Peyre
Bonjour
Lors de l'utilisation l'activex d'Internet Explorer je sais remplir les
éléments en INPUT d'un formulaire et cliquer sur un bouton SUBMIT de la
façon suivante :
mhtmDoc3 est un objet OLE dynamique // IHTMLDocument3
mdocDocument est un objet OLE dynamique // HTMLDocument
mhtmInputBox est un objet OLE dynamique // HTMLInputElement
// Remplir une champ texte
mdocDocument>>item(2)>>value(Wnprenom)
// Cliquer sur un bouton SUBMIT
TagName est une chaine = "submit"
mhtmInputBox = mhtmDoc3>>getElementById(TagName)
mhtmInputBox>>Click
Dans ce cas le bouton était décrit dans le source HTML de la façon
suivante :
Aujourd'hui je n'arrive pas à exécuter le click d'un formulaire dont le
bouton SUBMIT est déclaré comme une image contenant le libellé
Rechercher ( par exemple )
Le code HTML du source de la page définissant le bouton de SUBMIT est
le suivant
<tr>
<td background="Icons/bg_rech2.gif"></td>
<td align="center" background="Icons/pix_rech2.gif"><a href="#num"
onclick="return CtrlField2('num')"><img src="Icons/rechercher.gif"
onmouseover="this.src='Icons/rechercher2.gif'"
onmouseout="this.src='Icons/rechercher.gif'" border="0" height="31"
width="149"></a>
</td>
<td background="Icons/bd_rech2.gif"></td>
</tr>
QUESTION :
Quelle commande de l'activex est à utiliser pour simuler le click sur
ce bouton graphique
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Georges Peyre
Bonjour Gilles
Gilles Guédikian a écrit :
Je ne saurais pas te répondre, mais il y a un interêt particulier à faire ça plutôt que d'envoyer toi même le formulaire avec HttpRequete et de faire remplir des champs standards à l'utilisateur?
Je suis d'accord pour utiliser HttpRequete lorsque je connais le format de la ligne de commande à envoyer pour lancer une recherche.
Par contre lorsque je ne connais pas le format J'utilise cette forme de traitement de formulaire lorsque je veux simplement aider l'utilisateur qui a déjà dans un fichier Windev tous les éléments permettant de remplir les champs du formulaire Dans ce cas ... -1- je lance l'affichage de la page dans le champ activex -2- je charge automatiquement les champs du formulaire avec les élements de windev -3- je simule le click sur le bouton Submit -4- La page de résultat s'affiche
Cordialement
-- Elle est pas belle la vie ?
Bonjour Gilles
Gilles Guédikian a écrit :
Je ne saurais pas te répondre, mais il y a un interêt particulier à faire ça
plutôt que d'envoyer toi même le formulaire avec HttpRequete et de faire
remplir des champs standards à l'utilisateur?
Je suis d'accord pour utiliser HttpRequete lorsque je connais le format
de la ligne de commande à envoyer pour lancer une recherche.
Par contre lorsque je ne connais pas le format J'utilise cette forme de
traitement de formulaire lorsque je veux simplement aider l'utilisateur
qui a déjà dans un fichier Windev tous les éléments permettant de
remplir les champs du formulaire
Dans ce cas ...
-1- je lance l'affichage de la page dans le champ activex
-2- je charge automatiquement les champs du formulaire avec les
élements de windev
-3- je simule le click sur le bouton Submit
-4- La page de résultat s'affiche
Je ne saurais pas te répondre, mais il y a un interêt particulier à faire ça plutôt que d'envoyer toi même le formulaire avec HttpRequete et de faire remplir des champs standards à l'utilisateur?
Je suis d'accord pour utiliser HttpRequete lorsque je connais le format de la ligne de commande à envoyer pour lancer une recherche.
Par contre lorsque je ne connais pas le format J'utilise cette forme de traitement de formulaire lorsque je veux simplement aider l'utilisateur qui a déjà dans un fichier Windev tous les éléments permettant de remplir les champs du formulaire Dans ce cas ... -1- je lance l'affichage de la page dans le champ activex -2- je charge automatiquement les champs du formulaire avec les élements de windev -3- je simule le click sur le bouton Submit -4- La page de résultat s'affiche
Cordialement
-- Elle est pas belle la vie ?
Georges Peyre
Gilles Guédikian a utilisé son clavier pour écrire :
Mais puisque tu connais déjà les champs à envoyer, tu pourrais utiliser httprequete et ne pas avoir à gérer un ActiveX?
Je veux bien mais comment faire car en fin de course je serai quand même amené à afficher le résultat sous forme d'une page IE ?
J'en profite pour une question complémentaire : Quel évènement de l'activex me permettrait de récupérer l'url construit émis par le clic sur le bouton submit ou tout autre lien
Je sais récupérer par exemple l'url d'un lien survolé mais je ne sais pas comment récupérer l'url générée par le click sur le lien
// récupération des URL lorsque la souris passe sur un LIEN ActiveXEvénement("PLinks",ActiveX1,"StatusTextChange")
PROCEDURE PLinks(TitreBarre) // TitreBarre contient l'URL survolée par la souris //trace(titrebarre) SI PAS SansEspace(TitreBarre) = "" ET PAS SansEspace(TitreBarre) = "Terminé" ALORS WUrlSurvolee = WUrlSurvolee + TitreBarre + RC FIN
-- Elle est pas belle la vie ?
Gilles Guédikian a utilisé son clavier pour écrire :
Mais puisque tu connais déjà les champs à envoyer, tu pourrais utiliser
httprequete et ne pas avoir à gérer un ActiveX?
Je veux bien mais comment faire car en fin de course je serai quand
même amené à afficher le résultat sous forme d'une page IE ?
J'en profite pour une question complémentaire :
Quel évènement de l'activex me permettrait de récupérer l'url construit
émis par le clic sur le bouton submit ou tout autre lien
Je sais récupérer par exemple l'url d'un lien survolé mais je ne sais
pas comment récupérer l'url générée par le click sur le lien
// récupération des URL lorsque la souris passe sur un LIEN
ActiveXEvénement("PLinks",ActiveX1,"StatusTextChange")
PROCEDURE PLinks(TitreBarre)
// TitreBarre contient l'URL survolée par la souris
//trace(titrebarre)
SI PAS SansEspace(TitreBarre) = "" ET PAS SansEspace(TitreBarre) =
"Terminé" ALORS
WUrlSurvolee = WUrlSurvolee + TitreBarre + RC
FIN
Gilles Guédikian a utilisé son clavier pour écrire :
Mais puisque tu connais déjà les champs à envoyer, tu pourrais utiliser httprequete et ne pas avoir à gérer un ActiveX?
Je veux bien mais comment faire car en fin de course je serai quand même amené à afficher le résultat sous forme d'une page IE ?
J'en profite pour une question complémentaire : Quel évènement de l'activex me permettrait de récupérer l'url construit émis par le clic sur le bouton submit ou tout autre lien
Je sais récupérer par exemple l'url d'un lien survolé mais je ne sais pas comment récupérer l'url générée par le click sur le lien
// récupération des URL lorsque la souris passe sur un LIEN ActiveXEvénement("PLinks",ActiveX1,"StatusTextChange")
PROCEDURE PLinks(TitreBarre) // TitreBarre contient l'URL survolée par la souris //trace(titrebarre) SI PAS SansEspace(TitreBarre) = "" ET PAS SansEspace(TitreBarre) = "Terminé" ALORS WUrlSurvolee = WUrlSurvolee + TitreBarre + RC FIN
-- Elle est pas belle la vie ?
Georges Peyre
Gilles Guédikian avait prétendu :
Oui mais un champ HTML suffira pour ça, pas la peine d'avoir un ActiveX.
Merci pour cette affirmation mais pourriez-vous me fournir un exemple de l'utilisation de HttpRequete lorsqu'on ne connait pas le format de l'URL de recherche ?
Sinon un exemple de HttpRequête avec l'utilisation de la recherche inversee me conviendrait à l'adresse http://www.118712.fr Un seul champ et un click
Un bout de code serait sympa
Merci d'avance
-- Elle est pas belle la vie ?
Gilles Guédikian avait prétendu :
Oui mais un champ HTML suffira pour ça, pas la peine d'avoir un ActiveX.
Merci pour cette affirmation mais pourriez-vous me fournir un exemple
de l'utilisation de HttpRequete lorsqu'on ne connait pas le format de
l'URL de recherche ?
Sinon un exemple de HttpRequête avec l'utilisation de la recherche
inversee me conviendrait à l'adresse http://www.118712.fr
Un seul champ et un click
Oui mais un champ HTML suffira pour ça, pas la peine d'avoir un ActiveX.
Merci pour cette affirmation mais pourriez-vous me fournir un exemple de l'utilisation de HttpRequete lorsqu'on ne connait pas le format de l'URL de recherche ?
Sinon un exemple de HttpRequête avec l'utilisation de la recherche inversee me conviendrait à l'adresse http://www.118712.fr Un seul champ et un click
Un bout de code serait sympa
Merci d'avance
-- Elle est pas belle la vie ?
Georges Peyre
Bonjour Gilles
Merci infiniment pour ce super exemple Vous allez en aider plus d'un !
Qu'est-ce que je me suis emmerdé pour rien !!
Dernière question
Avec l'activex IE on peut récupérer le texte seul avec le code suivant
WRecupere = ActiveX1>>Document>>body>>outerTEXT // ou innerTEXT
Comment le faire à partir de CHAMP_HTML ?
Cordialement
-- Elle est pas belle la vie ?
Bonjour Gilles
Merci infiniment pour ce super exemple
Vous allez en aider plus d'un !
Qu'est-ce que je me suis emmerdé pour rien !!
Dernière question
Avec l'activex IE on peut récupérer le texte seul avec le code suivant
WRecupere = ActiveX1>>Document>>body>>outerTEXT // ou innerTEXT
Merci infiniment pour ce super exemple Vous allez en aider plus d'un !
Qu'est-ce que je me suis emmerdé pour rien !!
Dernière question
Avec l'activex IE on peut récupérer le texte seul avec le code suivant
WRecupere = ActiveX1>>Document>>body>>outerTEXT // ou innerTEXT
Comment le faire à partir de CHAMP_HTML ?
Cordialement
-- Elle est pas belle la vie ?
Georges Peyre
Bonsoir Gilles
Gilles Guédikian avait soumis l'idée :
Hum, là par contre, je ne sais pas. Le champs HTML est basé sur le moteur de IE. Donc il doit avoir les mêmes propriétés mais je ne sais pas si on peut les appeler.
J'ai cherché sur plusieurs sites et forum et finalement j'ai trouvé sur Winasso du code qui permet d'extraire le code texte d'une page HTML
Reste un problème inhérant à windows XP SP2, ç'est l'impossibilité d'enlever les message script lorsqu'on affiche une page dans un champ HTML
Finalement la solution qui solutionne les 2 problèmes est de -Exécuter la HttpRequete -Récupérer le résultat -Le sauver dans un fichier xxxx.HTML -Recharger ce fichier HTML dans une champ Activex IE ( caché ou visible)
... de ce fait : Plus de message script et possibilité de récupérer le texte de la page avec ActiveX1>>Document>>body>>outerTEXT // ou innerTEXT
Merci infiniment pour ton aide
Cordialement
-- Elle est pas belle la vie ?
Bonsoir Gilles
Gilles Guédikian avait soumis l'idée :
Hum, là par contre, je ne sais pas.
Le champs HTML est basé sur le moteur de IE.
Donc il doit avoir les mêmes propriétés mais je ne sais pas si on peut les
appeler.
J'ai cherché sur plusieurs sites et forum et finalement j'ai trouvé sur
Winasso du code qui permet d'extraire le code texte d'une page HTML
Reste un problème inhérant à windows XP SP2, ç'est l'impossibilité
d'enlever les message script lorsqu'on affiche une page dans un champ
HTML
Finalement la solution qui solutionne les 2 problèmes est de
-Exécuter la HttpRequete
-Récupérer le résultat
-Le sauver dans un fichier xxxx.HTML
-Recharger ce fichier HTML dans une champ Activex IE ( caché ou
visible)
... de ce fait : Plus de message script et possibilité de récupérer le
texte de la page avec ActiveX1>>Document>>body>>outerTEXT // ou
innerTEXT
Hum, là par contre, je ne sais pas. Le champs HTML est basé sur le moteur de IE. Donc il doit avoir les mêmes propriétés mais je ne sais pas si on peut les appeler.
J'ai cherché sur plusieurs sites et forum et finalement j'ai trouvé sur Winasso du code qui permet d'extraire le code texte d'une page HTML
Reste un problème inhérant à windows XP SP2, ç'est l'impossibilité d'enlever les message script lorsqu'on affiche une page dans un champ HTML
Finalement la solution qui solutionne les 2 problèmes est de -Exécuter la HttpRequete -Récupérer le résultat -Le sauver dans un fichier xxxx.HTML -Recharger ce fichier HTML dans une champ Activex IE ( caché ou visible)
... de ce fait : Plus de message script et possibilité de récupérer le texte de la page avec ActiveX1>>Document>>body>>outerTEXT // ou innerTEXT