Simulation d'un clic sur un bouton image

Signaler
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
-
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
-
Boujour à tous

Voila je suis arrivé a simuler un clic sur certains boutons traditionnels de pages, mais je n'arrive pas a le faire sur un bouton image.
J'aimerais savoir comme s'y prendre pour cette ligne par exemple

  

J'ai essayé :

document.myform.login.click()
document.post.login.click()
document.all.image.click()

Et rien ne marche
Alors j'ai essayé

document.myform.submit()

Et la ça marche, ça envoi la page.
Mais je voudrais connaitre la methode pour cliquer sur ce bouton image, car la prochaine page, va avoir beaucoup de boutons images et il faudra bien que je puisse simuler mon click en adressant le bon bouton

Voici le code tout simple de la page
C'est une HTTPS, je ne sais pas si cela a une importance ???

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <html>
    <head>
      <title>
       </title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <link rel="shortcut icon" href="/images/icone.ico">
  <script language="javascript">
    if (document.layers) {
      document.write("<link rel="stylesheet" type="text/css" href="/styles/style.css">");
    } else {
      document.write("<link rel="stylesheet" type="text/css" href="/styles/style.css">");
    }
  </script>
      <script language='javascript'>
        history.forward();
      </script>
    </head>
   
      <form action="/login" method="post" name="myform">
                  ----

                         

                Authentification
             

           ,
         
          ----

                          <table width="100%">
                ----

                 , </td>
                  ,
                  ,
               
             

            </td>
          </tr>
          <tr class="bandeau">
            <td class="erreur">



              &nbsp;
            </td>
          </tr>
          <tr>
            <td>
                              ----

               
                                      Identifiant :
                 ,
                                   
                        
                           

                 ,
               
                ----

                                      Mot de passe :
                 ,
                                     
                 ,
               
                ----

                                      Portail :
                 ,
                                      <select name="portail" class="input" />
                      <option value="ENC">
                      Programmation et Pilotage des Interventions
                      </option>
                      <option value="PIL">
                      Administration et Suivi d'Activité
                      </option>
                    </select>
                 ,
               
             

            </td>
          </tr>
          <tr class="bandeau">
            <td class="actions">
             
            </td>
          </tr>
          <tr>
            <td>
                              ----

                  ,
                  ,
                  ,
               
             

            </td>
          </tr>
          <tr>
            <td class="erreur">



            </td>
          </tr>
        </table>
      </form>
      <script language="JavaScript">document.myform.login.focus();</script>       
   
  </html>



Je vous remercie beaucoup de votre aide
Bonne journée

11 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
bonjour,
franchement pas compris !
99 fois sur 100, le onclick déclenche du javascript.
      [ et si ça ne déclenche rien ( la 100ème fois ) , inutile de le simuler }
plutôt que de simuler un onclick, met ce javascript
pour une fonction par exemple : Bul
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
1
Bonjour et merci de ta reponse.

Je n'ai jamais fait de javascript de ma vie.

Mon but est de piloter internet explorer en lui envoyant des instructions javascript a l'aide d'un language style visual basic.

Avec ce programme j'envoie le texte :

document.all.login.value="bernard"
document.all.password.value="123456"

Et dans la page internet dont j'ai mis le code juste au dessus, ça marche, ça ecrit "bernard" dans le premier champs et "123456" dans le second champs de la page
Donc jusque la tout va bien :-)

Apres quand j'envoie avec le programme ce texte :

document.myform.submit()

La ça marche aussi ça envoie le formulaire.

Mais ce que je cherche a faire, c'est pas envoyer le formulaire comme si je faisais RETURN sur la machine, mais l'envoyer comme si je clique sur le bouton image "Valider" de la page.

Cela a exactement le meme effet je te l'accorde, mais comme dans les pages suivantes et tres souvent dans les nouvelles pages internet il y a des images qui remplace un bouton envoyer, je voudrais savoir simuler un clic sur ces fameux bouton image
Qui dans le code source du dessus est 

Et je profite de cette page qui est on ne peut plus simple pour essayer.

Comment ferais tu en javascript pour simuler un clic sur ce bouton apres avoir rempli les deux champs.
Donc en fait comment ferait tu si tu etais devant ce panneau dont j'ai mis le code au dessus et que tu veuille entrer ton login et ton mot de passe et cliquer sur le bouton image ???? automatiquement

Voila la question !!!!

J'ai aussi essayé document.getElementsByTagName('login')[2].click(); et ça ne marche pas non plus

Voila, je sais c'est compliqué, c'est pour cela que je m'adresse a un site specialisé et a des gens competents
Merci de ton aide
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
>>

l y a des images qui remplace un bouton envoyer
certes....
1° rien ne t'empêche de mettre un bouton submit avec le ccs qui convient !
    ( background-image ? par exemple ), et là... tout baigne
2° si c'est un bouton submit, ben : document.name_du_formualire.submit()
    et ça baigne.... MAIS il vaut mieux éviter ! : tu as pensé à ceux qui
    refusent le javascript ?
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
1
Oui je le sais, mais le choix du language est difficile quand on y connait rien en appli web
Bah en fait, j'ai dit javascript parce que je pensais que y'avais que ça pour piloter IE !!!


Mais j'aurais utilisé n'importe quel language.
Le tout c'est de pouvoir encapsuler ça dans une DLL au final.
Comme ça on peut l'utiliser en PB (Le language que j'utilise actuellement) mais aussi en VB, C ou meme delphi etc.


Il n'existe pas à ma connaissance ce genre de DLL ???
Et pourtant tout est internet ou presque de nos jours.
C'est bizzarre , bientot les EXE vont laisser la place au appli WEB, et c'est dans ce but que je voudrais créer cette "telecommande".
Il n'existera des EXE que pour faire des clients WEB ou des toutes petites applis


Et, j'en ai besoin pour mon travail et aussi pour chez moi, imagine, en quelques instructions

Ouvre IE
EcrisDansChamps
SoumetFormulaire
SelectionneCombo
ClicSurLien
FermeIE
DeplaceScrollBar

Et ben n'importe qui pourrait ouvrir son compte en banque et faire des applis automatisée, pour poser des annonces, enfin y'a des centaines d'applications interessantes a ce genre de DLL
Mais voila, faut la faire....et j'en suis qu'au 2 premieres instructions
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
>>Le tout c'est de pouvoir encapsuler ça dans une DLL au final.
du javascript ? tu vas avoir du mal !
>>parce que je pensais que y'avais que ça pour piloter IE !!!
si tu parles IE exclusif, tous les langages peuvent le piloter
>> en PB (Le language que j'utilise
inconnu au bataillon
>>Il n'existe pas à ma connaissance ce genre de DLL ???
qui fasse quoi ?
en écrire une (de dll) n'est pas si compliqué que cela
mais pas en javascript.
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
1
Oui oui, je le sais que le javascript est un language script

Le PB est le Pure basic.
Un language au premier abord tres simple d'utilisation, mais d'une puissance redoutable.
Capable de creer des DLL, des EXE.
Capable de melanger du basic avec de l'assembleur.
Language de programmation bas niveau, adressage des pointeurs, acces aux callbacks en quelques lignes, Subclassing des controles assez facile, hook des peripheriques, etc...
En plus portable, creant des exe de tres petite taille non dependant.
Il commence a etre connu dans le monde entier, il y a plusieurs forums dans l'europe, etats unis, russie, chine etc...
Et tout ça c'est un petit français, un genie qui a créé le bébé, il sont 4 dans la TEAM
Beaucoup de ceux qui programment avec ce language connaissent le C, l'assembleur et justement ils retrouvent de la puissance avec l'avantage de ne pas utiliser leurs gros languages.

Donc en PB, un genie a créé une gestion complete de l'objet COM en open source, et il vient de creer un code pour gerer le javascript.
Voici la raison pour laquelle je me suis penché sur le javascript.

Apres une fois encapsulé, dans la DLL je pourrais telecommander IE.

C'est vrai que y'a aussi VB qui peut le faire, mais je n'aime pas VB, parce que justement, il est dependant de la base de registre et des DLL.
Messages postés
1782
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
14 janvier 2021
117
vive le future
Messages postés
1782
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
14 janvier 2021
117
une adresse qui peut aider

ici
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
1
Merci KAZMA
Pour ton super lien

Bonne journée
Messages postés
262
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
19 septembre 2014

si tu veux pouvoir appellé une fonction d'un évenement sans ke celui ci soit réalisé , faut faire un fireEvent dispo dans prototype.js , je sais pas tros comment il marche , mais pour ff , c'est :
element.dispatchEvent(event);
et ei : element.fireEvent(event.eventType, event);

enfin le mieux serait que tu recherche sur google dispatchEvent et fireEvent ...
a++
 
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
1
Merci de ton aide KIMJOA je vais regarder ça
Bonne journée