[..] Télécharger des fichiers PDF sur IE quand on est connecté.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 342
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

[..] Télécharger des fichiers PDF sur IE quand on est connecté.

#1

Message par franco »

Bonjour.


Je vous explique le souci...


Avec un script, je me connecte avec succès sur une plateforme de contrats dématérialisés.
Afin de récupérer les liens PDF de mes contrats, pour ensuite les télécharger...

Car parfois, j'ai besoin de les re-sortir, mais cela m'arrive parfois que je sois dépourvu internet.



Du coup, j'ai donc créé un script qui :
- Me connecte sur , en indiquant mon mail comme identifiant de connexion, et son mot de passe.
- Liste par la suite les liens PDF du contrat ainsi que diverses informations (pour créer un nom de fichier).

J'ai donc la liste complète des liens PDF...


A cet instant, je pensais les télécharger, avec InetGet, comme ceci :
Func _DlCt($nomfichier, $lienpdf, $nbpdf)

   If Not FileExists($Dossier) Then DirCreate($Dossier)
   $fichier = $Dossier & "\" & $nbpdf & ".pdf"

   $myDL = InetGet($lienpdf, $fichier, 1) ;, 1)
   Do
      Sleep(250)
   Until InetGetInfo($myDL, 2) ; Check if the download is complete.
   Local $nBytes = InetGetInfo($myDL, 0)
   InetClose($myDL) ; Close the handle to release resources.



EndFunc   ;==>_DlCt
Cela ne marche pas, normal : je suis connecté sur IE, mais inetget n'en tient pas compte...
Idem avec wget.


Existe-t-il un moyen, avec les fonctions IE, me permettant de télécharger les fameux PDF ?
Un enregistrer sous invisible par exemple ?



Une solution, qui "marcherait", mais c'est de prendre le contrôle de la fenetre IE, de simuler les touches ctrl+shift+s, de copier/coller les chemin complet du fichier et ensuite de valider.......................
Mais bon, cette solution ne me plait guère...



Je ne peux pas me permette de fournir le code en entier, car il y a des identifiants perso, et le contrat est perso aussi lol. :mrgreen:



Merci :=)


@++
L'entraide, c'est mon dada ;)
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Télécharger des fichiers PDF sur IE quand on est connecté.

#2

Message par walkson »

Bonjour,
Ben si, Inetget() fonctionne même pour les PDF
Un site pris au hasard avec 8 PDF
#include <IE.au3>

Local $oIE = _IECreate("http://www.groupe-normand.com/")

Local $sMyString = ".pdf"
Local $oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
    Local $sLinkText = $oLink.href
    If StringInStr($sLinkText, $sMyString) Then
       ; _IEAction($oLink, "click")
      ConsoleWrite($sLinkText & @CR)
      InetGet(StringStripWS($sLinkText,8), @ScriptDir & "\monPDF"&@MSEC&".pdf")
        ExitLoop
    EndIf
Next
_IEQuit($oIE)

J'ai rajouté StringStripWS($sLinkText,8) car parfois il y a un espace qui se crée et fausse l'adresse (surtout quand on utilise un array)
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 342
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [..] Télécharger des fichiers PDF sur IE quand on est connecté.

#3

Message par franco »

Salut et merci.


Sauf que le lien du PDF en question, ne finit pas par ".pdf". ^^


Exemple :

Je vais tout de même tester quand j'aurais accès au pc en question ^^


++
L'entraide, c'est mon dada ;)
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 342
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [..] Télécharger des fichiers PDF sur IE quand on est connecté.

#4

Message par franco »

Salut.

J'ai adapté ton code, en faisant comme ceci :
For $nb = 1 To 2

   $lien = 'https://workr.peopulse.com/contracts?ctab=signed&page=' & $nb & '#/'
   _IENavigate($oIE, $lien)
   _IELoadWait($oIE, 1)

   Local $oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
    Local $sLinkText = $oLink.href
    If StringInStr($sLinkText, '/pdf/') Then

           ConsoleWrite($sLinkText & @CR)
         
           InetGet(StringStripWS($sLinkText,8), @ScriptDir & "\monPDF"&@MSEC&".pdf")
        ExitLoop
    EndIf
Next

Next
J'obtiens bien les liens adéquats dans la console de Scite, mais aucun fichier n'est téléchargé.


Par contre, je peux télécharger manuellement ces fichiers, uniquement si je suis connecté.
Sinon = retour page d'accueil.

C'est peut-être ça le souci, non ?



++
L'entraide, c'est mon dada ;)
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 342
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [..] Télécharger des fichiers PDF sur IE quand on est connecté.

#5

Message par franco »

Yo.

J'ai toujours besoin d'aide, je n'arrive pas à trouver une solution qui fonctionne...

Car il me faut rester connectén (sur IE) afin que je puisse télécharger les dits fichiers PDF, et je sais pas comment faire...


Avez-vous des pistes ?
Merci ^^


++
L'entraide, c'est mon dada ;)
Répondre