Page 1 sur 1

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

Posté : ven. 10 sept. 2010 17:05
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

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

Posté : ven. 10 sept. 2010 17:13
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)

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

Posté : ven. 10 sept. 2010 21:35
par jbnh
Salut,

Donc si la fênetre est déjà ouverte -> _IEAttach pour avoir la fenetre en variable. Ensuite, _IEBodyReadHTML .

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

Posté : ven. 10 sept. 2010 21:48
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

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

Posté : ven. 10 sept. 2010 22:03
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.

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

Posté : lun. 13 sept. 2010 11:10
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

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

Posté : lun. 13 sept. 2010 11:56
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 ;)

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

Posté : lun. 02 mai 2011 16:53
par dexter74

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

Posté : jeu. 13 févr. 2014 10:11
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 ?