[R] Enregistrer sous a partir page HTML

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

[R] Enregistrer sous a partir page HTML

#1

Message par touslesmatins »

Bonsoir,
Je peine à trouver la fonction pour faire un enregistrer sous à partir d une page HTML. La fonction dans le menu fichier d une page Html n'a pas de raccourci, aussi ai-je utlisé cette fonction

Code : Tout sélectionner

InetGet($lien,@DesktopDir & "\@hour&"h"&@min&"mm"&".txt",1);
qui fonctionne mais le fichier généré n est pas exploitable, bizarre, donc j'essaie de trouver la fonctio qui me permettrai de faire un renregistrer sous a partir d une page html (qui ne contient que du texte).
Ceci ne fonctionne pas...

Code : Tout sélectionner

FileSaveDialog( "Choose a name.", @DesktopCommonDir, "Scripts (*.aut;*.au3)|Text files (*.ini;*.txt)", 2)
une Idée ?
Merci
Modifié en dernier par touslesmatins le jeu. 25 juin 2009 17:30, modifié 2 fois.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#2

Message par Iste »

heu tu veux enregistrer une page web étant en vrai un page de texte ?
Ben ton 1er exemple devrait marcher
sauf
@DesktopDir & "\@hour&"h"&@min&"mm"&".txt" devient
@DesktopDir & "\"&@hour&"h"&@min&"mm"&".txt"

vérifie ton lien :/ c'est peut être ca

Et le deuxieme, lis mieux la doc :o
FileSaveDialog() ne permet qu'une interface pour crée des fullpath par l'utilisateur
Signez ici
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#3

Message par touslesmatins »

Merci je regarde...
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#4

Message par touslesmatins »

Je cherche d'autres solutions, par exemple cette piste est elle bonne ?

Code : Tout sélectionner

WinMenuSelectItem ( "", "Fichier", "Enregistrer sous..." )
merci
Modifié en dernier par tolf le jeu. 18 juin 2009 13:20, modifié 1 fois.
Raison : Balises de code
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#5

Message par Iste »

mais heu... tu pourrais réexpliquer ton probleme ?
Car si j'ai bien compris, c'est InetGet() ta solution.
A la rigueur,

Code : Tout sélectionner

InetGet($lien,FileSaveDialog( "Choose a name.", @DesktopCommonDir, "Scripts (*.aut;*.au3)|Text files (*.ini;*.txt)", 2),1);
Sinon, si le but final est de récup le texte dans une variable, use directement de cette fonction

Code : Tout sélectionner

$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")

Func HTTPRequest($oMethod, $oURL, $oData = "")
    $oHTTP.Open($oMethod, $oURL, False)
    If $oMethod = "POST" Then $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    $oHTTP.Send($oData)
    Return $oHTTP.ResponseText
EndFunc   ;==>HTTPRequest
Signez ici
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#6

Message par touslesmatins »

Merci Iste j'ai suivi vos conseils, finallement j'opte pour
► Afficher le texte
. Par contre y a t il un moyen de valider la boite de dialogue automatiquement ?
Sinon je pensais
► Afficher le texte
. Mais cela ne fonctionne pas... et je ne sais pas pourquoi ?
Merci
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#7

Message par Iste »

C'est parce que FileSaveDialog() met en pause le script.
hum... La c'est pas top, j'ai appris récemment a lancer une fonction sans qu'elle ne mette en pause le script, mais la on a besoin de ce qu'elle retourne :/

méééé, si le but est de définir un chemin par défaut,

Code : Tout sélectionner

InetGet($file1,"c:\fichier",1)
Sinon, heu... j'ai essayé un truc mais ca marche pas :\
Signez ici
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#8

Message par ani »

Ie utilise la fonction ExecWB
sous autoit vous avez _IEaction(objet,action)

Code : Tout sélectionner

$OIE=_IEcreate("http://www.autoitscript.fr/")
_IEaction($OIE,"saveas")
Ensuite on peu imaginer => winexist sur le titre de la boîte de dialogue ("sauvegarder la page web") et y introduire le lien de sauvegarde :o
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#9

Message par touslesmatins »

Merci Ani.
Je viens de le tester et cela fontionne bien, par contre je n arrive pas à fermer la boite de dialog, ni avec send ni avec controlclick...
une idée ?
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#10

Message par orax »

Je viens de tester, et visiblement _IEaction($OIE,"saveas") fonctionne un peu comme FileSaveDialog ; je veux dire par là que le script pause tant que la boîte de dialogue est ouverte, donc je suppose que c'est pour ça que vous n'arrivez pas à utiliser ControlSetText, ControlClick ou tout autres fonctions.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#11

Message par touslesmatins »

hum... pas moyen alors...
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#12

Message par orax »

Tout dépend de ce que vous souhaitez comme résultat, puisque quant vous faites "Fichier->Enregistrer sous...", vous pouvez choisir d'enregistrer la page web complète (avec les images, scripts, etc.)... Alors, est-ce que c'est ce que vous souhaitez faire ? avoir, en plus du code HTML, les images ? Si non, si c'est juste le code HTML qui vous intéresse vous pouvez utiliser _INetGetSource().

(Il y a aussi _IEDocReadHTML mais je crois qu'IE "modifie" le code.)
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#13

Message par touslesmatins »

Je souhaite simplement activer la touche ok de la boite de dialogue qui est generé par save as. Possible ?
pour info : Quand je clic manuellement sur ok un fichier est enregistré.
exactement ce que je cherche, c est la bonne commande.
merci
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#14

Message par orax »

Au pire, vous pouvez toujours mettre...

Code : Tout sélectionner

$OIE=_IEcreate("url")
_IEaction($OIE,"saveas")
... dans un autre script, et l'exécuter avant de faire controlclick().
Dans ce cas ça marchera.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Enregistrer sous a partir page HTML

#15

Message par touslesmatins »

merci pour votre aide....
Répondre