Page 1 sur 1

[..] Problème interaction avec page login du CRM Siebel

Posté : jeu. 23 janv. 2014 22:35
par NMATELOT
Bonjour,

Je suis un tout nouveau utilisateur d'AutoIt, donc je tâtonne...
Je rencontre déjà des difficultés malgré le fait que je suivre des tutos à la lettre :wink:


J'essaye de me loguer automatiquement à un CRM Siebel en suivant l'exemple suivant :

Code : Tout sélectionner

#include <IE.au3>
$oIE = _IECreate ("http://www.google.com")
$oForm = _IEFormGetObjByName ($oIE, "f")
$oQuery = _IEFormElementGetObjByName ($oForm, "q")
_IEFormElementSetValue ($oQuery, "matelot")
_IEFormSubmit ($oForm)
Une fois modifié afin de correspondre à mon test, cela donne ceci :

Code : Tout sélectionner

#include <IE.au3>
$oIE = _IECreate ("http://crm.intra.fr/callcenter_fra_1/start.swe?SWECmd=Start&SWEHo=crm.intra.fr")
$oForm = _IEFormGetObjByName ($oIE, "SWEEntryForm")
$oQuery = _IEFormElementGetObjByName ($oForm, "SWEUserName")
_IEFormElementSetValue ($oQuery, "xxloginxx")
$oQuery2 = _IEFormElementGetObjByName ($oForm, "SWEPassword")
_IEFormElementSetValue ($oQuery2, "xxpaswordxx")
_IEFormSubmit ($oForm)
Mais voici les messages d'erreurs qui s'affichent :
--> IE.au3 T3.0-1 Error from function _IELoadWait, $_IEStatus_ClientDisconnected (-2147023179, Browser has been deleted prior to operation.)
--> IE.au3 T3.0-1 Warning from function _IEFormGetObjByName, $_IEStatus_NoMatch
--> IE.au3 T3.0-1 Error from function _IEFormElementGetObjByName, $_IEStatus_InvalidDataType
--> IE.au3 T3.0-1 Error from function _IEFormElementSetValue, $_IEStatus_InvalidDataType
--> IE.au3 T3.0-1 Error from function _IEFormElementGetObjByName, $_IEStatus_InvalidDataType
--> IE.au3 T3.0-1 Error from function _IEFormElementSetValue, $_IEStatus_InvalidDataType
--> IE.au3 T3.0-1 Error from function _IEFormSubmit, $_IEStatus_InvalidDataType
J'ai donc essayé de récupérer les propriétés afin d'analyser le problème, mais cela ne fonctionne pas non plus comme s'il ne topait pas le code source :

Code : Tout sélectionner

#include <IE.au3>
#include <MsgBoxConstants.au3>

Local $oIE = _IECreate("http://crm.intra.fr/callcenter_fra_1/start.swe?SWECmd=Start&SWEHo=crm.intra.fr")
Local $oForms = _IEFormGetCollection($oIE)
MsgBox($MB_SYSTEMMODAL, "Forms Info", "There are " & @extended & " form(s) on this page")
For $oForm In $oForms
    MsgBox($MB_SYSTEMMODAL, "Form Info", $oForm.name)
Next
Voilà pourquoi j'appel à l'aide et à vos connaissances :roll:
Pouvez-vous m'aider ?



Voici le code HTML de la page de login du CRM Siebel :

Code : Tout sélectionner

<html ><head><title>Callisto2 – Environnement de production V1.20.14 AOM1</title><link href="files/main.css" rel="stylesheet"><script language="javascript" src="21233/scripts/login.js"></script>
 
<script language="javascript" src="21233/scripts/swecommon_top.js"></script> 
<script language="javascript" src="21233/scripts/swecommon.js"></script> 
<script language="javascript" src="21233/scripts/swecmn_hi_top.js"></script> 
<script language="javascript" src="21233/scripts/swecmn_hi.js"></script> 
</head><body class="loginBody" leftmargin="0" topmargin="118" marginwidth="0" marginheight="118" onunload="pwdcleaner()"><script>
if(typeof(top._swescript)!='undefined'&&top._swescript!=null) top._swescript.InitFrame(this);</script>
<table class="loginImage" border="0" cellpadding="0" cellspacing="0" align="center"><TR><td class=loginFirstRow><table cellspacing=0 cellpadding=0 border=0><tr><TD height=62 width=17>&nbsp;</TD><TD height=62 valign=center><IMG height=21 width=482 src="images/OracleSiebel_logo.gif"></TD><TD height=62 width=190>&nbsp;</TD></tr></table></td></TR><tr><td class=loginSecondRow><table cellspacing=0 cellpadding=0 border=0><tr><td rowspan=2 width=26 height=199>&nbsp;</td><td height=50 width=391>&nbsp;</td><td rowspan=2><IMG height=199 width=272 src="images/globe77_d.gif"></TD></tr><tr><td class=loginAppTitle valign=top>Callisto2 – Environnement de production V1.20.14 AOM1  8.1&nbsp;</td></tr></table></td></tr><tr><td class=loginThirdRow><IMG src="images/spacer.gif"></td></tr><form name="SWEEntryForm" method="post" action="/callcenter_fra_1/start.swe" target='_top'>
<tr><td class=loginFourthRow><table cellspacing=0 cellpadding=0 border=0><tr><td width=26 rowspan=2>&nbsp;</td><td width=200 height=95 valign=bottom><div class=loginCopy>Copyright © 1994-2008, Oracle Corporation et/ou ses affiliés.<br><br>Tous droits réservés. Oracle est une marque déposée d'Oracle Corporation et/ou de ses affiliés. Tout autre nom mentionné peut correspondre à des marques appartenant à d'autres propriétaires qu'Oracle.<br></div></td><td width=60 rowspan=2>&nbsp;</td><td rowspan=2><table width=403 cellspacing=4 cellpadding=0 border=0><tr><td class=loginLabel>ID utilisateur:</td><td class=loginField><input type="text" name='SWEUserName' tabindex=1 size=10 maxlength=100 id='s_swepi_1'></td><td width=12 rowspan=2>&nbsp;</td><td valign=middle rowspan=2><a href='JavaScript&#058;void(0)' onclick='SWEExecuteLogin(document.SWEEntryForm,"/callcenter_fra_1/start.swe","_top"); return false;'  tabindex=4 id='s_swepi_22'><img SRC="images/login77_d.gif" alt="Connexion" border="0"></a></TD><td width=54 rowspan=2>&nbsp;</td></tr><tr><td class=loginLabel>Mot de passe:</td><td class=loginField><input type=password name='SWEPassword' autocomplete = "off" tabindex=2 size=10 maxlength=100 id='s_swepi_2'></TD></tr><tr><td width=158>&nbsp;</td><td colspan=4 class=loginText><input type="checkbox" name='SWERememberUser' value='Yes' tabindex=3 style="width:13px" id='s_swepi_3'>&nbsp;Mémoriser mon ID utilisateur et mon mot de passe</TD></tr></table></td></tr><tr><td width=200 height=20>&nbsp;</td></tr></table></td></tr><span id='s_0'></span></form>
</table><script> 
 
trackChange("");
SWEIsHighInteract = true; Top().SWEIsHighInteract = true;
var s_0 = new Array('SWEFo','SWENeedContext','SWENoHttpRedir','SWECmd','W','SWESPNR','SWESPNH','SWEH','_sn','SWEC','SWEW','SWEBID','SWETS','SWEWN');
if (typeof(top._samePage) != 'undefined' && top._samePage!="") top._samePage = "";
 
g_bInitialized = true;
 
if(typeof(Top()._swe)!="undefined"){Top()._swe._sweapp.S_App.ProcessRPCInfo("@0`0`4`1``0`UC`0`Status`Completed`_sn`1DIKdxbzsSN4ML1C7gdPC--LMtQvNsXwlpOnFj-8Ge8Otsqvd7UDYZ1DKnYKgFAlllwxc3ZcZwM_`SWEC`1`3`0`hui`0`n`CC Login Page (Login Only\\\)`hnact`top._swescript.SWETargetGotoURL("/callcenter_fra_1/start.swe?SWEPage=CC+Login+Page+(Login+Only\\\)&SWENeedContext=false&SWECmd=GotoPage&_sn=1DIKdxbzsSN4ML1C7gdPC--LMtQvNsXwlpOnFj-8Ge8Otsqvd7UDYZ1DKnYKgFAlllwxc3ZcZwM_&SWEC=1", "_sweview"\)`hisp`1`");}
 
document.SWEEntryForm.SWEPassword.onkeypress = SWESubmitOnEnter;
c_h("s_0",s_0,new Array('SWEEntryForm','false','false','ExecuteLogin','t','','','','1DIKdxbzsSN4ML1C7gdPC--LMtQvNsXwlpOnFj-8Ge8Otsqvd7UDYZ1DKnYKgFAlllwxc3ZcZwM_','1','','-1','',''));
</script>
<script for=window event=onunload> 
if (Top() != top) App().SetLayoutUnloaded("PopupSI", "");
 
</script>
<script for=window event=onload> 
if (Top() != top) App().SetLayoutLoaded("PopupSI", "", window);
 
</script>
<script language="JavaScript">userfocus()</script></body></html>

Re: [..] Problème interaction avec page login du CRM Siebel

Posté : ven. 24 janv. 2014 00:21
par Tlem
Je pense que le script ne peux pas atteindre la page "http://callisto2.intra-coliposte.fr/cal ... liposte.fr" donc le reste ne fonctionne pas non plus. :mrgreen:

Re: [..] Problème interaction avec page login du CRM Siebel

Posté : ven. 24 janv. 2014 07:38
par NMATELOT
Heu ... ok :|

C'est du au format de l'URL ?
Comment faire pour que le script puisse atteindre la page ?

Re: [..] Problème interaction avec page login du CRM Siebel

Posté : ven. 24 janv. 2014 07:54
par Tlem
Là, comme ça, difficile de vous aider puisque nous n'avons pas accès à votre intranet. Vous devriez tester sur un autre lien d'abord.

C'est peut être lié à des informations d'authentification manquante ou je ne sais quoi. Essayez votre lien directement dans IE pour vérifier qu'il fonctionne.

Re: [..] Problème interaction avec page login du CRM Siebel

Posté : ven. 24 janv. 2014 08:06
par NMATELOT
Ha ! Vous pensez que l'URL n'est pas accessible ou ne fonctionne pas ?!

Je peux répondre à cette interrogation : Lorsque le script passe sur la commande

Code : Tout sélectionner

$oIE = _IECreate ("http://crm.intra.fr/callcenter_fra_1/start.swe?SWECmd=Start&SWEHo=crm.intra.fr")
IE s'ouvre bien, il n'y a pas d'authentification locale, la page se charge bien et est visible car la fenêtre est ouverte au premier plan. Si je reprend la main, je peux me loguer normalement.

Je pensais davantage à une complexité HLML qui m'échappait ... ?

Re: [..] Problème interaction avec page login du CRM Siebel

Posté : ven. 24 janv. 2014 08:17
par Tlem
Ben disons que ce qui m'interroge, c'est ceci :

Code : Tout sélectionner

Error from function _IELoadWait, $_IEStatus_ClientDisconnected (-2147023179, Browser has been deleted prior to operation.)
Comme ceci est dés le départ, il est normal que le reste ne fonctionne pas !

Edit : Jetez un œil sur ce sujet.
Et faite comme Vieri en ajoutant la fonction MyErrFunc()
Comme cela vous aurez plus d'information sur l'erreur et qui sait, peut être est-ce le même problème. ;)

Re: [..] Problème interaction avec page login du CRM Siebel

Posté : ven. 24 janv. 2014 13:18
par jguinch
Je confirme ce que dit Thierry.
J'ai fait un copié collé du contenu HTML que tu as posté et testé ça en local, ça fonctionne bien (avec ton script).
Mais si ça _IECreate affiche bien la page, c'est effectivement étrange...

Re: [..] Problème interaction avec page login du CRM Siebel

Posté : mar. 28 janv. 2014 07:42
par NMATELOT
Bonjour !
Après un petit week end de repos, j'ai repris quelques tests et j'ai remarqué ceci : Cela fonctionne sur mon PC à la maison, mai cela ne fonctionne pas sur mon PC pro !

J'en arrive donc à la piste du navigateur : y a t'il une configuration ou un paramétrage à activer ou désactiver au niveau d'IE ? (autoriser tel ou tel fonctionnalité dans les options internet)