Bonjour,
je débute en JavaScript,
J'utilise le module GreaseMonkey de Firefox qui permet d'exécuter du code JS sur les pages du navigateur.
J'ai réussi à écrire un petit bout de code pour me connecter automatiquement à un site web :
et ça marche bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 if(document.getElementById('email_for_login')!=null) { var frm_element = document.getElementById('email_for_login'); frm_element.value = 'mon identifiant'; var frm_element = document.getElementById('password_for_login'); frm_element.value = 'mon mot de passe'; document.querySelector("#submit_for_login").addEventListener("submit", function(e){ if(!isValid){ e.preventDefault(); //stop form from submitting } }); $('#submit_for_login').submit(); }
Le problème vient de l'expiration de session qui ouvre une nouvelle fenêtre sur la première.
De ce que je comprend dans les logs, le serveur envoie une méthode POST :
En tout cas ça me déconnecte bien quand je rentre cette URL dans mon navigateur avec la pop-up d'expiration, et dans l'onglet où j'ai entré l'URL on trouve le message :
Il me semble que je ne puisse pas référencer les objets de cette fenêtre depuis mon ardoise JS, on dirait que mon ardoise s'applique à la page mère uniquement.{"status":true,"result":"logoutSuccessful"}
Je n'arrive donc pas remplir les champs (image en pièce jointe).
Pour info, on trouve dans le code source de la pop-up :
Le second problème est que j'aimerais capter l’événement d'expiration pour me reconnecter automatiquement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-front tPackage_jqueryuiTheme mediumPopup ui-draggable ui-resizable" style="display: block; position: absolute; height: auto; width: 484px; top: 887px; left: 484px;" tabindex="-1" role="dialog" aria-describedby="platformLoginDialog" aria-labelledby="ui-id-1"> <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" style="display: none;"></div> <div id="platformLoginDialog" class="spotPackage_popup hidden ui-dialog-content ui-widget-content platformCurrency_EUR" style="display: block; width: auto; min-height: 150px; max-height: none; height: auto;"> <div class="popupHeader"></div> <div class="popupBody"> <div class="formContainer"> <form class="loginForm popupForm" method="POST" action="/Login/login?lang=fr" novalidate="novalidate"> <table width="100%"> <tbody> <tr class="emailTr"> <td class="inputTd"> <input class="popupTextInput" type="text" name="email" autocomplete="off" aria-required="true" aria-invalid="true" validationfailed="true"></input> </td> <td class="desc"></td> </tr> <tr class="mtidTr" style="display: none;"></tr> <tr class="passwordTr"></tr> <tr class="serverUrlTr" style="display: none;"></tr> </tbody> </table> <input class="loginPopupSubmit" type="submit" autofocus="autofocus" value="Connectez-vous."></input> </form> <div class="errorMessage hidden"></div> </div> <a class="loginPopupForgotPassword" href="/appProxy/forgotPassword.html?blabla=2"> Mot de passe oublié? </a> </div> <div class="popupBottom"></div> </div>
J'ai essayer quelques méthodes mais sans succès aussi je ne m'attarderai pas dessus.
Je suis prêt à entre vos propositions svp.
Partager