Simuler un enter dans une pop up

Signaler
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013
-
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013
-
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

Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

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
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

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!
Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

Salut,

envoie nous le code source de ta page web pour qu'on puisse t'aider
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

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!
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

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.
Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

Dédolé, j'étais pris ailleurs.

As tu mis ton webbrowser en mode silence ?

WebBrowser1.silent=true
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

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?
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

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!
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

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!
Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

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.
Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

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

@+
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

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!
Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

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.
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

Pardon mais j'ai pas compris ;-)
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

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!!
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

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!
Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

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.
Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

Oups j'ai oublié un "s" à "tu dégage", c'est vilain. Désolé !!
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

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!!!