[R] Commande pour récupérer l'url d'un lien
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Commande pour récupérer l'url d'un lien
Bonjour,
Je travail actuellement sur un script de log d'alerte.
Il y à actuellement en place un monitoring de serveurs via page page internet.
Sur cette page sont présent les serveurs surveillé sous forme d'image.
En cas de problème sur un serveur, l'image du serveur change de couleur
Ces images (qu'il y ai un problème ou pas) sont cliquable et ouvre une nouvelle fenêtre donnant des informations sur le serveur.
Donc chaque image possède une URL d'adresse de l'image et une URL de redirection lorsque l'on clique dessus (celle qui apparait en bas dans la barre d'état).
Lors d'une alerte, mon script emet un signal sonore, puis déplace le curseur sur le serveur en cause.
Je souhaite donc pouvoir récupéré l'url de redirection sous forme de texte, mais je n'ai rien trouvé dans la bibliothèque IE.au3 sous le nom link, mis à par des clic ou autre.
Edit: L'URL à récupérer se trouvera toujours dans la barre d'état.
Le curseur sera toujours placé à l'endroit de l'image cliquable contenant le lien à récupérer.
Si ca peut aider l'url se présentera toujours sous la forme:
http://xxx.xxx.xxx.xxx/xxxxx.php?xxx=le_nom_du_serveur
avec "http://xxx.xxx.xxx.xxx/xxxxx.php?xxx=" toujours identique selon les serveurs"
Ensuite pour faire simple je ferai un StringTrimLeft pour supprimer le nombre de caractere dont je ne veux plus.
En vous remerciant.
Je travail actuellement sur un script de log d'alerte.
Il y à actuellement en place un monitoring de serveurs via page page internet.
Sur cette page sont présent les serveurs surveillé sous forme d'image.
En cas de problème sur un serveur, l'image du serveur change de couleur
Ces images (qu'il y ai un problème ou pas) sont cliquable et ouvre une nouvelle fenêtre donnant des informations sur le serveur.
Donc chaque image possède une URL d'adresse de l'image et une URL de redirection lorsque l'on clique dessus (celle qui apparait en bas dans la barre d'état).
Lors d'une alerte, mon script emet un signal sonore, puis déplace le curseur sur le serveur en cause.
Je souhaite donc pouvoir récupéré l'url de redirection sous forme de texte, mais je n'ai rien trouvé dans la bibliothèque IE.au3 sous le nom link, mis à par des clic ou autre.
Edit: L'URL à récupérer se trouvera toujours dans la barre d'état.
Le curseur sera toujours placé à l'endroit de l'image cliquable contenant le lien à récupérer.
Si ca peut aider l'url se présentera toujours sous la forme:
http://xxx.xxx.xxx.xxx/xxxxx.php?xxx=le_nom_du_serveur
avec "http://xxx.xxx.xxx.xxx/xxxxx.php?xxx=" toujours identique selon les serveurs"
Ensuite pour faire simple je ferai un StringTrimLeft pour supprimer le nombre de caractere dont je ne veux plus.
En vous remerciant.
Modifié en dernier par cortx le jeu. 29 mai 2008 12:45, modifié 1 fois.
Re: [..] Commande pour récupérer l'url d'un lien
Si je comprends bien tu veux pouvoir récupérer le lien de redirection puisqu'il définit en lui même l'état du serveur en fonction de l'image ?
Peut-être faut t'il voir la chose différemment et extraire le code source pour avoir ton lien...
Peut-être faut t'il voir la chose différemment et extraire le code source pour avoir ton lien...
Re: [..] Commande pour récupérer l'url d'un lien
C'est la couleur de l'image qui définit l'état du serveur.
Quant l'image du serveur est verte tout va bien.
Si elle passe en rouge, là ca ne va plus et donc j'ai mis en place un système d'analyse de la couleur pour détecter si la couleur rouge apparait dans une zone de l'écran.
Et là je rempli un fichier texte avec l'heure de l'alerte.
Mais sur la page de surveillance il y à 9 serveur différents et donc je veux avoir dans mon fichier log le nom du serveur défaillant, nom qui se trouve dans le lien.
Pour un serveur, le lien est toujours sous la même forme quel que soit son état dans l'outil de surveillance.
http://xxx.xxx.xxx.xxx/xxxxx.php?xxx=le_nom_du_serveur1
Pour le serveur suivant ca serait
http://xxx.xxx.xxx.xxx/xxxxx.php?xxx=le_nom_du_serveur2
etc etc
Edit:
J'ai trouvé une image représentant ce que j'ai à l'écran
http://cleo-3s.sourceforge.net/images/s ... ision2.png
Pour allez avec l'image, l'adresse du lien lorsque l'on clique sur un serveur est:
http://localhost/cs3/sserver.php?id_serv=localhost
http://localhost/cs3/sserver.php?id_serv=10.179.9.22 et
http://localhost/cs3/sserver.php?id_serv=10.179.9.64
Quant l'image du serveur est verte tout va bien.
Si elle passe en rouge, là ca ne va plus et donc j'ai mis en place un système d'analyse de la couleur pour détecter si la couleur rouge apparait dans une zone de l'écran.
Et là je rempli un fichier texte avec l'heure de l'alerte.
Mais sur la page de surveillance il y à 9 serveur différents et donc je veux avoir dans mon fichier log le nom du serveur défaillant, nom qui se trouve dans le lien.
Pour un serveur, le lien est toujours sous la même forme quel que soit son état dans l'outil de surveillance.
http://xxx.xxx.xxx.xxx/xxxxx.php?xxx=le_nom_du_serveur1
Pour le serveur suivant ca serait
http://xxx.xxx.xxx.xxx/xxxxx.php?xxx=le_nom_du_serveur2
etc etc
Edit:
J'ai trouvé une image représentant ce que j'ai à l'écran
http://cleo-3s.sourceforge.net/images/s ... ision2.png
Pour allez avec l'image, l'adresse du lien lorsque l'on clique sur un serveur est:
http://localhost/cs3/sserver.php?id_serv=localhost
http://localhost/cs3/sserver.php?id_serv=10.179.9.22 et
http://localhost/cs3/sserver.php?id_serv=10.179.9.64
Modifié en dernier par cortx le mer. 28 mai 2008 12:22, modifié 1 fois.
Re: [..] Commande pour récupérer l'url d'un lien
etant donnée que c'est du localhost on ne peut pas aller voir :s
Mais le premier lien nous donne un aperçu de la page. Je reste sur l'idée que le traitement de la source html restera plus efficace pour une détection. Et tu auras le nom du serveur en alerte. Si la fenêtre bouge ton code fonction toujours ? Si la résolution change ? Si la fenêtre est mis en second plan ?
Mais le premier lien nous donne un aperçu de la page. Je reste sur l'idée que le traitement de la source html restera plus efficace pour une détection. Et tu auras le nom du serveur en alerte. Si la fenêtre bouge ton code fonction toujours ? Si la résolution change ? Si la fenêtre est mis en second plan ?

Re: [..] Commande pour récupérer l'url d'un lien
Non si la fenetre bouge, rétréci ou autre la detection devient beaucoup moins fiable étant donné que je fait un recherche d'un pixel précis dans une zone de l'écran, donc si cette zone de l'outil de supervision n'est pas dans ma zone de recherche, ca ne fonctionne plus.
ps: J'ai edité mon message au dessus.
ps: J'ai edité mon message au dessus.
Re: [..] Commande pour récupérer l'url d'un lien
Regarde à _IEDocReadHTML ( ByRef $o_object ) 

Re: [..] Commande pour récupérer l'url d'un lien
Pour tester j'ai fait celà:
Mais forcément ca ne marche pas car $o_object n'est pas déclaré, je ne sais même pas ce que c'est, je n'ai encore jamais travailler sur ce genre de chose, c'est totalement inconnu pour moi.
Parameter(s): $o_object - Object variable of an InternetExplorer.Application, Window or Frame object
Ca ne me parle pas beaucoup ce genre de chose, je ne sais même pas ce que c'est qu'un objet d'une application
Code : Tout sélectionner
#include <IE.au3>
$object = _IEDocReadHTML($o_object)
$file = FileOpen("loghtml.txt", 1)
; Check if file opened for writing OK
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf
FileWriteLine($file, $object )
FileClose($file)
Parameter(s): $o_object - Object variable of an InternetExplorer.Application, Window or Frame object
Ca ne me parle pas beaucoup ce genre de chose, je ne sais même pas ce que c'est qu'un objet d'une application
- sylvanie
- Niveau 11
- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Commande pour récupérer l'url d'un lien
Bonsoir,
_IEDocReadHTML prends en argument des objets de type handle sur une ouverture IE.
Plus concrètement, de tesls objets peuvent être générés par :
_IE_Example : uniquement pour des cas de démonstration, ça crée une page html basic (il est utilisé dans l'exple illustrant _IEDocReadHTML )
_IECreate : créé un objet IE (lance un ie et récupère la handle) sur l'url passée en paramètre.
_IEAttach : va récupérer le handle d'un ie existant dont le critère de sélection est passé en paramètre (exple : sous chaine d'un titre, un morceau de text, une insatce ... c'est très riche)
Dans ton cas,je pense plus à _IEAttach pour monitorer un IE lancer par un utilisateur, si je ne me trompes pas
_IEDocReadHTML prends en argument des objets de type handle sur une ouverture IE.
Plus concrètement, de tesls objets peuvent être générés par :
_IE_Example : uniquement pour des cas de démonstration, ça crée une page html basic (il est utilisé dans l'exple illustrant _IEDocReadHTML )
_IECreate : créé un objet IE (lance un ie et récupère la handle) sur l'url passée en paramètre.
_IEAttach : va récupérer le handle d'un ie existant dont le critère de sélection est passé en paramètre (exple : sous chaine d'un titre, un morceau de text, une insatce ... c'est très riche)
Dans ton cas,je pense plus à _IEAttach pour monitorer un IE lancer par un utilisateur, si je ne me trompes pas
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Re: [..] Commande pour récupérer l'url d'un lien
Wahou, alors là je le dis sans gêne, c'est largement au dessus de mes petites compétences que ce soit en programmation et encore plus en autoit.
Si quelqu'un est disponible pour me faire ca, en trouvant un exemple concret et facile pour la création.
Merci à vous pour l'explication cependant mais là je suis dépassé.
Si quelqu'un est disponible pour me faire ca, en trouvant un exemple concret et facile pour la création.
Merci à vous pour l'explication cependant mais là je suis dépassé.
Re: [..] Commande pour récupérer l'url d'un lien
Bonjour,
J'ai trouvé une solution qui marche pour mon problème.
Je recupère l'information dans la status bar:
Voili voilou.
J'ai trouvé une solution qui marche pour mon problème.
Je recupère l'information dans la status bar:
Code : Tout sélectionner
AutoItSetOption("WinTitleMatchMode", 2)
$x = StatusbarGetText("Internet Explorer")
MsgBox(0, "Internet Explorer's status bar says:", $x)