Page 1 sur 1

[..] Extraire donnée de chrome

Posté : ven. 29 janv. 2016 17:02
par JulienBoul
Bonjour,

Sujet redondant, sur forum US ou fr, mais le dernier réellement frais, date de 2013 et je me prend à espérer que depuis, les choses ont évoluées.

Je cherche à extraire des infos d'un site web pro tournant sous chrome, notamment un montant de devis (cf PJ).
span montant devis.jpg
Partie gauche: ma page web - partie droite: les informations suite à l'inspection de la page web

Par défaut, je vois bien le système bourré de ControlClick, de ControlSend et de regex...

Dans l'idéal, j'aurai aimé que le logiciel tourne en "sous marin" et qu'il ne gène pas l'utilisateur, pas d'utilisation du clipboard, pas de pages qui s'affichent, se réduisent, etc.

Par défaut, je me suis rabattu sur tout ce que je ne veux pas faire du style:

Code : Tout sélectionner

Sleep (2000)
ControlClick("PEC - Google Chrome","Chrome Legacy Window","","left",1,699,172) ; avec les coordonnées, c sale car ça dépend de l'affichage de l'utilisateur...
ControlSend("PEC - Google Chrome","Chrome Legacy Window","","^{a}") ; là, j'ai la page chrome qui apparaît à l'écran et gène l'utilisateur
ControlSend("PEC - Google Chrome","Chrome Legacy Window","","^{c}")
$String_devis = ClipGet() ; Ici encore, je stock des données dans le clipboard... Sale.
$Montant_devis = StringRegExp($String_devis, "(?im)^Total TTC	 	(\N+)(?:  EUR)", 1,-1)
Sleep (50)
msgbox(0,"",$Montant_devis); Et pour finir, mon expression régulière est vérolée, et je n'arrive pas à afficher mon montant de devis.


Je manque cruellement de bases, si vous avez des idées autres que celle que j'ai utilisée pour arriver à mes fins, je suis ouvert.
Merci de vos conseils.

Julien.

Re: [..] Extraire donnée de chrome

Posté : ven. 29 janv. 2016 19:05
par orax
Le site doit-il forcément être ouvert avec Chrome ? Peut-être qu'un simple InetRead pourrait faire l'affaire pour récupérer le code source de la page.

Re: [..] Extraire donnée de chrome

Posté : lun. 01 févr. 2016 16:15
par JulienBoul
Ha, trop bien, Orax, tu réfléchis différemment, je ne savais pas qu'on pouvais lire un code source d'une page web, merci pr l'info. La piste me semble top, ça me permettrai de chopper toutes mes variables d'un seul coup de façon super propre et sans avoir trop de fenêtres qui bougent à l'écran!

Je viens de faire une recherche dans le code source de la page, mais il semblerai que mon montant de devis ne s'affiche pas. En effet, Il s'affiche dans le code source du cadre (pourquoi faire simple). Je me suis rendu compte qu'il y avait un traitement particulier du cadre dans lequel je cherche mes infos car lorsque je fais un ctrl+A sur ma page, les données ne se sélectionnent pas indépendamment, mais c'est le cadre entier qui se sélectionne. Cf l'explication en image ->
Sans titrec.jpg
Dans mon code source, je trouve bien la valeur "DEVIS" (sous format 208.12) et je peux m'en sortir avec un regex.
id="ttc_f14" >208.12</SPAN>
Les montants peuvent aller de 0.00 à 9999.99.

Alors la question est simple, puis je aller chercher le code source de "tel cadre" via une ligne de commande plutôt que d'utiliser un clic droit aux coordonnées voulus etc? (car si tel est le cas, la mise en page devra être standardisée etc, ça n'est pas fiable dans le temps)

Quelqu'un aurait il un bout de code qui permettre d'utiliser la fonction InetRead? Je ne connais pas cette fonction et mon msgox me renvoi toujours un pop up blanc, sans texte (le fait d'utiliser chrome peut il avoir une incidence? Mon navigateur n'est spécifié nulle part dans mon code)

Merci à vous.