je viens ici pour demander des conseils,aides pour l'automatisation de tchecking.
je m'explique, je travaille dans un call-center pour un opérateur belge. vu que le patron sais que j'ai des connaissances en progammation, il m'a demandé d'automatiser l'action de tchecking (prendre un numéro de téléphone, le taper sur le site de l'opérateur avec les privilèges de call-center, voir si le client bénéficie de certain avantages et noter le numéro sur une feuille excel).
d'abord, je me suis dis, je vais le faire en java. Mais au final, Autoit me parais le plus simple et le plus rapide.
voici les morceau de codes que j'ai pu faire. mais certain point me paraisse sombre et sans aucune réponse.
PS : le programme se décline en 3 éléments (sous-script)
1) création de la feuille excel et des classeurs précis.
2) prendre les numéros non-traités et les mettre dans une feuille excel vierges un à la suite de l'autre : array (1,1) .. array (1,2) ainsi de suite.
3) se connecter au site, prendre la feuille excel "numéro non traité", automatisé le traitement du numéro, lire le code HTML du résultat et trouver des mots clef permettant de voir si le client rentre dans les conditions et si oui, remettre le numéro dans une autre feuille excel avec des tableau sur les differents offres.
1) ----------------------- Connexion au site -------------------
#include <Array.au3>
#include <Excel.au3>
#include <MsgBoxConstants.au3>
#include <Constants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
If _GuiDemandeConnexion() Then
MsgBox(48,"connexion reussi","Bonjour APMGroup")
EndIf
Func _GuiDemandeConnexion()
Local $Form1 = GUICreate("Connexion", 162, 133, 265, 130)
Local $inputUsername = GUICtrlCreateInput("", 8, 32, 137, 21)
Local $inputMdp = GUICtrlCreateInput("", 8, 80, 137, 21,BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
Local $boutonOk = GUICtrlCreateButton("OK", 8, 112, 49, 17,$BS_DEFPUSHBUTTON)
Local $labelUsername = GUICtrlCreateLabel("Identifiant", 8, 8, 52, 17)
Local $LabelMdp = GUICtrlCreateLabel("Mot de passe", 8, 56, 68, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $boutonOk
Local $username,$mdp
$username = GUICtrlRead($inputUsername)
$mdp = GUICtrlRead($inputMdp)
If connexionBD($username,$mdp) Then Return True
MsgBox(64,"refuse","mot de passe ou identifiant refuse envoi du refus a l'administrateur")
GUICtrlSetData($inputMdp,"")
GUICtrlSetData($inputUsername,"")
EndSwitch
WEnd
EndFunc
Func connexionBD($username,$mdp)
Return ($username = "*****" And $mdp = "*********")
EndFunc
Run("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
;Ouverture de chrome
AutoItSetOption("WinTitleMatchMode", $OPT_MATCHANY) ;2
WinActivate("[TITLE: - Google Chrome;CLASS:Chrome_WidgetWin_1]")
Sleep(3500)
;wait l'ouverture de chrome
MouseMove(407,38)
MouseClick("left")
Send("le site ou il faut se connecter{ENTER}")
;adresse de connexion de l'opérateur
Sleep(4000)
;chargement
MouseMove(623,429)
MouseClick("left")
Send("{utilisateur}")
Send("{TAB}")
Send("**********")
;PASSWORD
Send("{ENTER}")
;Validation du formulaire
Sleep(4800)
MouseMove(1358,401)
MouseClick("left")
Sleep(4800)
;SALTO
Run("C:\*******\tcheck.exe")
Exit
#include <Excel.au3>
#include <MsgBoxConstants.au3>
#include <Constants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
If _GuiDemandeConnexion() Then
MsgBox(48,"connexion reussi","Bonjour APMGroup")
EndIf
Func _GuiDemandeConnexion()
Local $Form1 = GUICreate("Connexion", 162, 133, 265, 130)
Local $inputUsername = GUICtrlCreateInput("", 8, 32, 137, 21)
Local $inputMdp = GUICtrlCreateInput("", 8, 80, 137, 21,BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
Local $boutonOk = GUICtrlCreateButton("OK", 8, 112, 49, 17,$BS_DEFPUSHBUTTON)
Local $labelUsername = GUICtrlCreateLabel("Identifiant", 8, 8, 52, 17)
Local $LabelMdp = GUICtrlCreateLabel("Mot de passe", 8, 56, 68, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $boutonOk
Local $username,$mdp
$username = GUICtrlRead($inputUsername)
$mdp = GUICtrlRead($inputMdp)
If connexionBD($username,$mdp) Then Return True
MsgBox(64,"refuse","mot de passe ou identifiant refuse envoi du refus a l'administrateur")
GUICtrlSetData($inputMdp,"")
GUICtrlSetData($inputUsername,"")
EndSwitch
WEnd
EndFunc
Func connexionBD($username,$mdp)
Return ($username = "*****" And $mdp = "*********")
EndFunc
Run("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
;Ouverture de chrome
AutoItSetOption("WinTitleMatchMode", $OPT_MATCHANY) ;2
WinActivate("[TITLE: - Google Chrome;CLASS:Chrome_WidgetWin_1]")
Sleep(3500)
;wait l'ouverture de chrome
MouseMove(407,38)
MouseClick("left")
Send("le site ou il faut se connecter{ENTER}")
;adresse de connexion de l'opérateur
Sleep(4000)
;chargement
MouseMove(623,429)
MouseClick("left")
Send("{utilisateur}")
Send("{TAB}")
Send("**********")
;PASSWORD
Send("{ENTER}")
;Validation du formulaire
Sleep(4800)
MouseMove(1358,401)
MouseClick("left")
Sleep(4800)
;SALTO
Run("C:\*******\tcheck.exe")
Exit
Local $oExcel = ObjCreate("Excel.Application")
With $oExcel
.SheetsInNewWorkbook = 1
.Visible = 1
.WorkBooks.Add
.ActiveWorkbook.Worksheets(1).Name = "COMFORT/BOUQUET/START"
.ActiveWorkbook.Worksheets(1).Cells(1,1) = "comfort"
.ActiveWorkbook.Worksheets(1).Cells(2,1) = "bouquet"
.ActiveWorkbook.Worksheets(1).Cells(3,1) = "start"
EndWith
With $oExcel
.SheetsInNewWorkbook = 1
.Visible = 1
.WorkBooks.Add
.ActiveWorkbook.Worksheets(1).Name = "COMFORT/BOUQUET/START"
.ActiveWorkbook.Worksheets(1).Cells(1,1) = "comfort"
.ActiveWorkbook.Worksheets(1).Cells(2,1) = "bouquet"
.ActiveWorkbook.Worksheets(1).Cells(3,1) = "start"
EndWith
3-------------- TCHECKING --------------------
[allez recherchez le premier numéro dans la liste excel des numéros non traités]
While Array (1,$a) <>[ BLANCK]
MouseMove(1223,298)
MouseClic("left")
Send(Array(1,cpt1)
$cpt1 = &cpt1 + <1>
wait(500)
Send("{ENTER}")
; LECTURE DU CODE HTML
;
;
;
;
;
;
;
;
;
;FIN DE LECTURE
If (read "Pack Internet Comfort + TV + Tel")
If (read "Bouquet)
;PUT NUM TO EXCEL array (2,cpt3)
$cpt3 = $cpt3 + <1>
Else
;PUT NUM TO EXCEL array (1,cpt2)
$cpt2 = $cpt2 + <1>
Else
If (read "Pack Internet Start+ TV + Tel")
;PUT NUM TO EXCEL array (3,cpt4)
$cpt4 = $cpt 4 + <1>
Else
MouseMove(145, 150)
MouseClick("left")
wait(750)
MouseMove(145, 150)
MouseClick("left")
wait(750)
WEnd
While Array (1,$a) <>[ BLANCK]
MouseMove(1223,298)
MouseClic("left")
Send(Array(1,cpt1)
$cpt1 = &cpt1 + <1>
wait(500)
Send("{ENTER}")
; LECTURE DU CODE HTML
;
;
;
;
;
;
;
;
;
;FIN DE LECTURE
If (read "Pack Internet Comfort + TV + Tel")
If (read "Bouquet)
;PUT NUM TO EXCEL array (2,cpt3)
$cpt3 = $cpt3 + <1>
Else
;PUT NUM TO EXCEL array (1,cpt2)
$cpt2 = $cpt2 + <1>
Else
If (read "Pack Internet Start+ TV + Tel")
;PUT NUM TO EXCEL array (3,cpt4)
$cpt4 = $cpt 4 + <1>
Else
MouseMove(145, 150)
MouseClick("left")
wait(750)
MouseMove(145, 150)
MouseClick("left")
wait(750)
WEnd
mon problème ce pose sur le troisième code !
1er problème : le programme doit être capable de faire la lecture du code HTML de la page resultat de la recherche et de trouver une phrase exacte. et en faisant mes recherches, je n'ai pas trouver !
2ième problème : c'est tout simplement d'allez recherchez les numéro non traités un par un dans une boucle les traiter et de les placer dans une feuille excel bien précis par rapport au résultat de la recherche.
dernier problème : arreter le programme dès qu'il tombe sur une case blanche dans la feuille excel des numéro non traités (signifiant qu'il n'y a plus de numéro à traiter).
j'espere qu'il y a une âme charitable pour m'aider dans ce projet !
pour ce qui est de la confidentialité de l'opérateur, les connaisseurs auront compris de quel opérateur je parle ^^
je tiens à vous remercier deja pour ceux qui passeront du temps à m'aider.
merci
Shad0ws
Agent Call-Center et ingénieur informatique pour l'opérateur belge.