Simuler un enter dans une pop up

mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013 - 12 juin 2009 à 09:59
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013 - 19 juin 2009 à 17:13
Bonjour tout le monde,

J'ai un petit soucis, dans le cadre de mon stage, je dois cliquer sur l'une des pages intranet de mon entreprise, afin de mettre à jour les infromations de la base de données. Pour cela je dois cliquer sur le bouton "MAJ_SI" sur chaque intervenants de la base. Et lorsque j'appuie sur "MAJ_SI" avec la méthode OnClick, y a une petite pop up qui apparaît pour me demander si je suis sûre. j'aimerai provoquer un click automatique sur cette pop up.

Une idée?
merci beaucoup d'avance.

20 réponses

xpert12 Messages postés 114 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 10 septembre 2010
12 juin 2009 à 10:07
Ta réponse se trouve peut-être dans mon message que je viens de poster :
http://www.vbfrance.com/forum/sujet-VALIDEZ-SUPPRIMER-MSGBOX-JAVASCRIPT-AVEC-WEBBROWSER_1324932.aspx
0
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
12 juin 2009 à 10:23
Bonjour xpert12 et merci de ta réponse!


je suis allée voir sur le lien, en fait tu me conseillerai d'utiliser la fonction InvokeScript() c'est bien ça?


en fait je code en VBA, j'ai oublié de le préciser et j'ai vu que invokeScript() fonctionne sous VB6, mais peut-être pas sur VBA?

Aussi j'ai regardé sur internet, je n'ai pas trop compris comment s'utilise la fonction invokeScript() si tu peux m'éclairer un peu dessus ça serai cool, je suis pas très douée en VBA...hi!

Merci beaucoup!
0
xpert12 Messages postés 114 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 10 septembre 2010
12 juin 2009 à 10:30
Salut,

envoie nous le code source de ta page web pour qu'on puisse t'aider
0
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
12 juin 2009 à 10:38
Voici là partie correspondant au bouton sur lequel je dois cliquer:


 ----

      Historique
    MAJ SI
   ,
   

Donc je sais provoquer un click sur le bouton MAJ_SI (c'est ce que j'ai mis en rouge), avec la méthode OnClick(), et dès que j'ai cliqué la msgbox apparaît et je ne sais pas comment cliquer dessus. sacahant que c'est un algo sur pleins d'intervenant le but est d'automatiser la manoeuvre.

Merci beaucoup de ton aide xpert12!
et merci aux autres qui ont peut-être une idée à partager!
0

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

Posez votre question
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
12 juin 2009 à 10:39
J'oubliai, je n'ai pas accès aux fichiers javascripts. J'ai fais une recherche dans le code source, le code de cette fonction "setVariables" est dans un fichiers javascript externe apparement.

merci.
0
xpert12 Messages postés 114 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 10 septembre 2010
12 juin 2009 à 11:18
Dédolé, j'étais pris ailleurs.

As tu mis ton webbrowser en mode silence ?

WebBrowser1.silent=true
0
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
12 juin 2009 à 11:39
Je t'en prie. je fais d'autre truc en même temps aussi, j'ai un autre projet qui me prend la tête hi!
 euh nan je n'ai pas mis mon webbrowser en mode silence.
je vais tester, c'est sensé empêcher la msgbox?
0
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
12 juin 2009 à 12:04
Re,
bon on a un petit soucis avec l'intranet dans ma boîte donc je ne peux pas trop tester là tout de suite!

Merci de ton aide, dès que ça refonctionne, je te dis ce qu'il en ai.
bonne journée xpert12!
0
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
12 juin 2009 à 14:37
Re bonjour,
mon intranet re fonctionne enfin!

alors j'ai tester ta solution xpert12, sur quelques intervenants, une fois arrivé aux dernier intervenant la pop up apparaît alors que pour les premiers elle n'apparaît pas.

Une idée du prblème sur la dernière?
merci beaucoup!
0
xpert12 Messages postés 114 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 10 septembre 2010
12 juin 2009 à 14:48
C'est sûrement la qualité des intervenants qui est en cause !!!! Ca bug s'il s'agit de directeurs, adjoints, responsables de stage...

Non je déconne, je teste une ou deux solution(s). Affaire à suivre.
0
xpert12 Messages postés 114 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 10 septembre 2010
12 juin 2009 à 15:33
As-tu testé au hasard la source :
http://www.vbfrance.com/codes/PAS-POPUP-AVEC-WEBBROWSER_5012.aspx

Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Cancel = True
End Sub

***************************************************
Sinon, si tu veux simuler les touches utilise la source de Renfield :
http://www.vbfrance.com/codes/SENDKEYSEX-SIMULER-TOUCHE-DANS-FENETRE-PRECISE_41974.aspx
***************************************************

Pour ma part je suis en train de faire des tests (même si j'ai aucune idée de ta page d'intranet puisque tu ne "peux" pas trouver le fichier .js externe : As-tu pensé à regarder dans INTERNET TEMPORALY FILES ?).

Je suis tombé sur un os alors je ronge. C'est moi qui doit te remercier car j'ai trouver 2-3 trucs qui vont bien me servir !!!!

**********************************

Bon, voici peut-être une solution.

s'il s'agit d'alertes javascript, on peut essayer de les modifier en commentaire avant qu'elles n'apparaissent avec un script du genre :

Dim s As Object
For Each s In WebBrowser1.Document.scripts
s.Text = Replace(s.Text, "alert", "//alert")
Next s


Tu fais de même s'il s'agit d'une méthode confirm() 'bouton oui/non

Dim s As Object
For Each s In WebBrowser1.Document.scripts
s.Text = Replace(s.Text, "confirm", "//confirm")
Next s

Ici ça marche bien

@+
0
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
19 juin 2009 à 14:55
Bonjour xpert12!


bon j'ai fais un peu la morte pendant 1semaine! désolée! j'étais sur un autre projet qui m'a pris un peu tout mon temps!


Donc merci à toi pour toutes ces réponses, j'ai essayé de m'inspirer de ce que tu as fais avec le for each, mais je n'y arrive pas trop j'avou! Aussi, je ne peux pas publier le script, j'ai finalement pu y accéder, donc je t'envoi els bouts de code interressant.


je te montre en gros comment et structurer le code de la page avec les variables importantes:

Code source de la page:


<script type="text/javascript">
var mUrlMAJ_SI = (url de redirection)
var mAuthorise = 'false';
</script>

plus loin dans le code...

<form name="bean" method="post" action=(url courant)>

</form>

Fichier Javascript appelé :
if (variable == "MAJ_SI"){
     document.forms[0].authentificationMAJ_SI.value = true;
     window.document.forms[0].actionPage.value="consultation";
  document.forms[0].action = mUrlMAJ_SI;
}

plus loin dans le code...

c'est cette fonction qui provoque la pop de confirmation
function traiteMAJ_SI(){
 if(mAuthorise == 'true'){
  if(document.forms[0].authentificationMAJ_SI.value == 'true'){
   if(confirm("Voulez-vous forcer la MAJ de votre SI ?")){
    document.forms[0].authentificationMAJ_SI.value = false;
    document.forms[0].action = mUrlMAJ_SI;
    document.forms[0].submit();
   }
   document.forms[0].authentificationMAJ_SI.value = false;
  }
 }
}

voilà le code important pour résoudre le problème. donc moi ce que j'essayai de faire c'est de faire en sorte que authentificationMAJ_SI reste à false tout le temps comme ça la fonction n''entre pas dans le if! mais aussi il faudra modifier document.forms[0].action afin qu'il charge la page sur l'url mUrlMAJ_SI. voilà toute l'histoire.
pense tu que c'est possible?

Merci beaucoup pour ton aide en tout cas!
bonne journée!
0
xpert12 Messages postés 114 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 10 septembre 2010
19 juin 2009 à 16:08
Salut, c'est bien ce que je te disais. As-tu testé un truc du genre :

1-tu fais quelques changements avant de charger la page dans ton webbrowser avec la fonction VB Replace :


Dim s As Object
For Each s In WebBrowser1.Document.scripts
s.Text = Replace(s.Text, " if(confirm("Voulez-vous forcer la MAJ de votre SI ?")){", "if(document.write(parseInt("1.1")=1){"
Next s

En 2 mots, on remplace la boite de dialogue appelée avec la fonction confirm (qui nous embête) par une expression toute bête qui équivaut à 1=1. On garde les contrôles du script (autorisation, action...) et sa structure (pas d'erreur d'interprétation normalement).

2 - Tu charges la page dans ton webbrowser : la confirmation javascript ne devrait plus apparaître.

Essaye donc et tiens moi au courant.
0
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
19 juin 2009 à 16:25
0
xpert12 Messages postés 114 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 10 septembre 2010
19 juin 2009 à 16:30
Pardon mais j'ai pas compris ;-)
0
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
19 juin 2009 à 16:31
merci pour ta disponnibilité!!

j'ai déjà tester la 2e solution ça ne marchait pas, ça provoquais un message d'erreur.

La 1e sol, je sais pas si ça va marcher car cette fonction est dans un javascript à part, ce fichier est déclarer en haut de la page, donc elle n'est pas dans le code source de la page internet. bon je vais tester quand même mais bon...

sinon j'essayer de changer le contenu de onclick, sur mon boutton MAJ_SI. voici le code:

MAJ SI

à la place de setVariables('MAJ_SI')" , j'ai mis document.forms[0].action = mUrlMAJ_SI;
document.forms[0].submit();

Mais ça ne marche pas....
tu as une idée?

merci beaucoup!!
0
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
19 juin 2009 à 16:32
oui, je mis suis prise à 3fois pour t'envoyer ce message, je ne sais pas trop ce qui se passe sur vbfrance.com, mais ça à un peu du mal de mon coté! hi!
0
xpert12 Messages postés 114 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 10 septembre 2010
19 juin 2009 à 16:44
Excuse j'avais mal lu.

Sinon, t'as une solution toute con. Puisque tu as une copie de ton fichier externe js, tu le modifies comme tu veux (tu dégage ce confirm qui nous gonfle !!!!) et tu appelles ton fichier au lieu du fichier d'origine.

Ca devrait résoudre tes problèmes.
0
xpert12 Messages postés 114 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 10 septembre 2010
19 juin 2009 à 16:45
Oups j'ai oublié un "s" à "tu dégage", c'est vilain. Désolé !!
0
mmmxtina Messages postés 67 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 avril 2013
19 juin 2009 à 17:13
bah écoute, pour l'instant ça fonctionne pas trop!!
je vais cogiter ça un peu ce weekend, là j'y vais j'en ai marre j'avou!!!

merci pour ton aide, je te dirai ce qu'il en as lundi, si tuas du temps!

bon weekend!!!
0
Rejoignez-nous