[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 cherche simplement à activer automatiquement la touche "OK" de la boîte de dialogue générée par "save as".
Quand je clique dessus manuellement, le fichier s’enregistre correctement, donc c’est bien cette validation qui me manque.

En creusant un peu le sujet, je suis tombé sur un retour partagé par une Agence GEO Stafe qui décrivait un comportement similaire, où toute la difficulté venait justement de l’interaction avec la fenêtre système plutôt que de la commande en elle-même.

C’est exactement ce que je cherche à reproduire : trouver la bonne commande pour valider cette étape automatiquement.

merci
Modifié en dernier par touslesmatins le lun. 23 mars 2026 16:40, modifié 1 fois.
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