[..] Lire le code source d'une page web déjà ouverte

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

[..] Lire le code source d'une page web déjà ouverte

#1

Message par ZDS »

Bonjour à tous ! ça faisait un moment que j'avais réussi à avancer seul, mais là je pense être assez dans la caguade pour supplier de l'aide ^^

Voila mon soucis, j'ai un script dont des infos primordiales se trouvent sur le web, mais ne souhaitant pas piloter la page moi même (pour laisser le projet entièrement hors ligne en terme de fonctionnement), je propose à l'utilisateur de se logguer lui même sur le navigateur de son choix et d'aller sur la page demander après s'être authentifié. une fois sur la page en question, l'utilisateur clique sur un bouton qui déclenche une action qui me prend la tête depuis un moment, la voici :
J'aimerai que le script repère si c'est une fenêtre internet explorer ou firefox (autant se limiter aux deux plus "connus" dans mon milieu), et si c'est le cas, récupère le code source de la page déjà ouverte. Je ne sais pas si je me fais bien comprendre, mais vu que l'utilisateur s'est authentifié lui même, le code source n'est pas le même que si on va chercher la page directement avec des commandes _IEOpen et autre.

Voila un exemple que je récupère en commande IE : <html><body>Bonjour inconnu</body></html>
Alors que le CS de la page ouverte est : <html><body>Bonjour ZDS</body></html>

Donc en bref, j'aimerai :
- soit pouvoir récupérer un code source d'une page en cours (sous IE et sous FF)
- soit pouvoir reprendre le pilotage d'une page (une sorte de IECreate, mais avec une fenetre qui existerait déjà)

Merci d'avance pour votre aide, et n'hésitez pas à poser des questions !

tchô!

ZDS
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
matheod
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 juil. 2010 23:41
Status : Hors ligne

Re: [..] Lire le code source d'une page web déjà ouverte

#2

Message par matheod »

perso j'aurais penser à effectuer un :
Ctrl+A => Ctrl+C => le logiciel récupère les infos copiés qui devrait normalement être le code hyml (c'est juste une supposition => à tester)
Le "ça ne marche pas" est une conséquence commune découlant de l’absence de membres inférieures.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Lire le code source d'une page web déjà ouverte

#3

Message par jbnh »

Salut,

Donc si la fênetre est déjà ouverte -> _IEAttach pour avoir la fenetre en variable. Ensuite, _IEBodyReadHTML .
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] Lire le code source d'une page web déjà ouverte

#4

Message par SrBelial »

@matheod : et non malheureusement copier/coller ne fonctionne pas, car cela ne copiera que les données affichées de la page ..... et non pas le code html. (à moins que certains navigateurs le permettent ...)

si je ne me trompe pas, sous FF CTRL+U ouvre le code source de la page ....
plus qu'à faire CTRL A + CTRL C pour mettre dans le presse papier

et sous IE c'est un poil plus compliqué, faut passer soit par menu contextuel (clic droit, puis on descend chercher l'option "afficher la source" avec un MouseClick) ...

voila voila
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
matheod
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 juil. 2010 23:41
Status : Hors ligne

Re: [..] Lire le code source d'une page web déjà ouverte

#5

Message par matheod »

Le problème du ctrL+U c'est que ce n'est pas le code source de la page actuel, autrement dit si le javascript modifie plein de div par exemple via de l'ajax, le contenu ne sera pas bon.
Le copier coller copie vraiment le html, la preuve, on peut coller dans word ou des wysiwyg et ca colle la couleur, les images, les balises html, etc.
Le "ça ne marche pas" est une conséquence commune découlant de l’absence de membres inférieures.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Lire le code source d'une page web déjà ouverte

#6

Message par ZDS »

Bonjour !

Merci Jbnh, c'est le style de fonction que j'ai essayé, mais les tutoriels de l'aide AutoIt ne sont pas très explicites, je vais me pencher un peu plus là dessus. Sinon aurais-tu le même genre de "tips" pour Firefox sous la main? ^^ (et un lien récent vers l'UDF en question si tu as le temps, c'est toujours pratique d'en garder une trace dans un thread connu)

C'est ce genre de solution que je cherche, le passage par le presse papier étant -comment dire- une méthode crade :) que j'ai déjà testée, et oui le CtrlC-CtrlV récupère le contenu de la page et non le code source. Par contre il est mis en forme, et Word peut ainsi l'afficher en couleur ou autre (le passage se fait en RTF il me semble, mais certainement pas en HTML).

Merci d'avance !

ZDS
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Lire le code source d'une page web déjà ouverte

#7

Message par ani »

Pour Firefox y a ce thread = http://autoit.fr/forum/viewtopic.php?f= ... 96&p=33519


Vous y trouverez la fonction _FFReadHtml celui-ci retourne le code source de la page ;)
Je ne peux faire de test, n'ayant pas Mozilla-Firefox.
bonne continuation ;)
dexter74
Niveau 3
Niveau 3
Messages : 40
Enregistré le : sam. 06 févr. 2010 04:45
Status : Hors ligne

Re: [..] Lire le code source d'une page web déjà ouverte

#8

Message par dexter74 »

tr1p0d
Niveau 1
Niveau 1
Messages : 1
Enregistré le : jeu. 13 févr. 2014 09:48
Status : Hors ligne

Re: [..] Lire le code source d'une page web déjà ouverte

#9

Message par tr1p0d »

Bonjour,

Je n'utilise que Chrome, car j'aime bien la gestion des profils de chrome.
J'utilise donc Chrome.au3

Et donc, je voudrais récupérer le code source de la page affichée, mais pas avec FF ou IE, mais bien avec Chrome et Chrome uniquement.
Tout le début du code marche très bien : fermeture d'une instante de Chrome, Lancement de Chrome avec un des profils chrome en raccourci (j'ai pas réussi sans passer par un raccourci .lnk !), Login et de mot de passe saisies dans les champs de saisie et soumission de la page.

_ChromeShutdown()
_ChromeStartup("https://PageX-identification",@DesktopDir & "\Profilxxx- Chrome.lnk")
_ChromeDocWaitForExistenceByTitle("PageX", 5)
_ChromeObjSetValueByName("login",$cLogin)
_ChromeObjSetValueByName("password",$cPass)
_ChromeInputClickByType("submit")

C'est pour la suite que cela se complique. Avant j'utilisais des fonctions IE =>
_IENAvigate($oIE, $index, 0)
$CodeSourcePageHTML = BinaryToString(InetRead($index))

Et ça marchait nickel. Mais je ne trouve pas les mêmes fonctions avec Chrome.

Quelqu'un a une idée ?
Répondre