Salut a tous
Voila je me lance dans un programme pour automatiser le "debridage" de mes liens, grâce au site alldebrid.
Pour cela j’aimerais faire un code qui me connecte (id et mdp) au site, qui rentre mon lien et ensuite qui reprenne le lien débrider.
Cependant je bloque déjà a l'authentification, j'ai fait sa mais je ne sais pas si c'est correct et je ne sais pas comment appuyer sur le bouton de connexion.
Ce n'est pas mentionner dans les condition d’utilisation donc je pense que c'est autorisé.
Oui ça marche
Cependant pour mon programme il ne faut pas que la fenêtre s'affiche ^^
Jette un coup d'oeil dans la doc de _IECreate ou de _IEAction
EDIT : le titre que tu as mis n'est pas bien en lien avec l'aide que tu demandes. Un titre approprié t'aurais peut être fait trouver ce genre de topic avec une réponse tout aussi correcte http://autoitscript.fr/forum/viewtopic. ... 91&p=81103
Je n'ai pas de compte et donc pas l'accès à ces "lien" de débridage. (à tout hasard t'as pensé à cacaoweb ?)
Mais ce que je peux dire de ton code c'est que tu utilises _IEFormElementGetObjByName avec comme argument , d'après le nom de la variable, un lien or c'est le nom de l'objet qui est demandé et non une url.
J'ai vu mon erreur mais impossible de lancer le débridage que se soit avec _IEFormImageClick ou _IEFormSubmit je n'y arrive pas sur cette page https://www.alldebrid.fr/service/ ( bouton lancer le débridage).
J'ai essayer 3 façon différentes mais rien a faire :
$oSpans = _IETagNameGetCollection($oIE, "span")
For $oSpan In $oSpans
If $oSpan.innerhtml = "Lancer le débridage !" Then
_IEAction($oSpan, "click")
ExitLoop
EndIf
Next
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
#include <IE.au3>
$oIE = _IECreate ("http://www.alldebrid.fr/service/")
$oForm = _IEFormGetObjByName ($oIE, "links")
$oElts = _IEFormElementGetCollection($oForm)
For $oElt In $oElts
If $oElt.name == "links" Then _IEFormElementSetValue($oElt, "lien a debrider")
If $oElt.value == "fulllink" Then _IEAction ($oElt, "click")
Next
$oSpans = _IETagNameGetCollection($oIE, "span")
For $oSpan In $oSpans
If $oSpan.innerhtml = "Lancer le débridage !" Then
_IEAction($oSpan, "focus")
_IEAction($oSpan, "click")
ExitLoop
EndIf
Next
" L'échec est le fondement de la réussite. " (Lao-Tseu ) " Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Oui, c'est ça mais je ne comprend pas le code.
Pour finir je n'arrive pas a récupérer le lien débridé.Je crois que je suis vraiment pas fait pour les fonction _ie que je trouve complexe. Si vous avez besoin de mon compte envoyez moi un message
Je vous remercie de votre aide
Dans la mesure où le site effectue une opération en fonction d'infos que tu y entres, je vois pas bien comment tu pourrais faire sans utiliser les fonctions _IE*
Le code n'est pas difficile à comprendre, le plus gros de l'explication est dans le fichier d'aide pour _IETagNameGetCollection
Clairement, si tu veux une aide supplémentaire (pour la récupération du lien) il faut communiquer tes identifiants - mais c'est toi qui vois
" L'échec est le fondement de la réussite. " (Lao-Tseu ) " Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Si je veux utilisé les fonction _IE simplement que j'ai vraiment du mal avec et que l'anglais n'est pas mon fort ^^
Je t'ai communiquer mes ID par message, merci d'avance
Merci beaucoup, ça marche aussi chez moi !
Je vais remacher le code pour me l'approprier si il y a des choses que je ne comprends pas je te le demanderais
Voila je up le sujet car je ne comprend pas le comportement de mon scripte :
Je n’obtiens qu'une seule messagebox pour les liens debrider alors que je devrais en avoir 2
#include <IE.au3>
Dim $array[2]
$array[0] = "http://uptobox.com/hwkxx34nufyv"
$array[1] = "http://uptobox.com/b9veukfwtl6n"
For $i = 0 to 1
MsgBox(0,"",$array[$i])
Next
For $i = 0 to 1
MsgBox(0,"",Debrider($array[$i]))
Next
Func Debrider($link)
$oIE = _IECreate("http://www.alldebrid.fr/service/", 0, 0)
$oForm = _IEFormGetObjByName($oIE, "links")
$oElts = _IEFormElementGetCollection($oForm)
For $oElt In $oElts
If $oElt.name == "links" Then _IEFormElementSetValue($oElt, $link)
If $oElt.value == "fulllink" Then _IEAction($oElt, "click")
Next
$oSpans = _IETagNameGetCollection($oIE, "span")
For $oSpan In $oSpans
If $oSpan.innerhtml = "Lancer le débridage !" Then
_IEAction($oSpan, "focus")
_IEAction($oSpan, "click")
ExitLoop
EndIf
Next
$i = 0
While 1
$i = $i + 1
$source = _IEDocReadHTML($oIE)
If StringInStr($source, "displaylinksdiv validlink") Then ExitLoop
If $i = 10 Then
_IEQuit($oIE)
Return 0
EndIf
Sleep(200)
WEnd
$oDiv = _IEGetObjById($oIE, "link0")
$deb = $oDiv.innertext
_IEQuit($oIE)
Return $deb
EndFunc ;==>Debrider
J'y est pensé mais la question d'après c'est comment faire un fonction qui n'a pas un nombre fixe d'argument défini
Edit : mon idée était débile autant utilisé un caractère entre chaque lien ou un array
Si tu inscris n liens dans l'edit du site, il te retourne n boites de réponse avec chacune un lien dedans, donc faut checker les n (qui s'appellent "link0", "link1", "link2", ..., "linkn-1")
Ouala