[R] ControlID inexistant sur un navigateur dans la GUI

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Max033
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 07 juin 2012 21:29
Status : Hors ligne

[R] ControlID inexistant sur un navigateur dans la GUI

#1

Message par Max033 »

Bonsoir !

J'étais en train de mettre en place un petit programme pour automatisé la nouvelle administration de mon site.
Je souhaite au maximum que ce soit le programme qui s'adapte à mon site & pas l'inverse pour ne pas gêner le staff.

Bref, après plusieurs essai, je coince.

L'administration dispose d'un système d'une partie truffé de bouton Javascript.

Afin d'évité tout problème avec la génération un peu aléatoire, j'ai voulu opter pour une Tabulation selon l'option.

Mais voilà, mon problème est tout bête :

J'ai utilisé ControlSend(), mais impossible de trouver le ControlID de la fenêtre :(

Mon programme a un navigateur inclus dans sa GUI, via l'include IE.au3, mais impossible de récupérer un ControlID dessus.

J'ai essayer via un ControlGetHandle() & via ControlClick(), rien.

Mon navigateur est comme inexistant, ma question est :

Y a t'il un moyen de générer un ControlID sur celui-ci de force ?

Il marche bien, les actions de navigations sur le site fonctionne, mais impossible d'utiliser des commandes de contrôle, ça agit sans cesse sur la GUI de mon programme en lui même, et pas le navigateur.

Merci :)
Modifié en dernier par Max033 le ven. 08 juin 2012 17:11, modifié 1 fois.
Cordialement, Max.

(Ancien compte Au3Forum perdu & irrécupérable :/)
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] ControlID inexistant sur un navigateur dans la GUI

#2

Message par blacksoul305 »

Salut, je suis pas sûr d'avoir tout compris mais je tente.

C'est toi qui doit récupérer l'ID des boutons (si c'est ce que tu cherches à faire) grâce au code source de la page. Normalement, tu peux cliquer droit sur un bouton et faire "Inspecter l'élément" avec ton navigateur, ça marche en tout cas pour Chrome et Chronium. Tu auras donc une balise avec l'ID du bouton, tu pourras par la suite les enregistrer dans ton programme. En ce qui concerne l'interaction avec ceux-ci, je te laisse faire des recherches sur ce sujet, il y aura pas mal de remontées intéressantes rien que sur le forum français.
Étudiant en 2ème année de Licence Informatique.
Max033
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 07 juin 2012 21:29
Status : Hors ligne

Re: [..] ControlID inexistant sur un navigateur dans la GUI

#3

Message par Max033 »

Bonsoir.

Non hélas ce n'est pas mon problème.

Les boutons ne peuvent être récupérer vu qu'ils sont aléatoires (la page est générer en fonction des activités des membres), le code source est donc confus pour le programme.

Donc pour remédier à ça j'ai voulu utiliser un ControlSend pour m'y rendre avec Tabulation.
Mais le problème c'est qu'il me faut le ControlID et/ou le Hander de mon navigateur inclus dans la GUI du programme.

J'essaye en vain dans la récupérer mais sans succès, j'ai chercher mais impossible de comprendre le problème.
Avec AutoIt Windows Info j'ai essayer, mais rien (aucun ID). J'ai aussi tenter avec [CLASS] & [CLASSNN], rien non plus.
Et j'ai essayer avec ControlGetHandler, rien non plus.

Le ControlSend refuse d'agir dans le navigateur inclus, il agit sur mon programme ce qui ne sert donc à rien :(

Merci.

PS :

Code : Tout sélectionner

$ie = _IECreateEmbedded()
$ieobject = GUICtrlCreateObj($ie, 24, 136, 905, 313)
C'est ça le code pour le navigateur, il est pourtant banal, mais il ne génère aucun ControlID :(
Cordialement, Max.

(Ancien compte Au3Forum perdu & irrécupérable :/)
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] ControlID inexistant sur un navigateur dans la GUI

#4

Message par blacksoul305 »

Le code est bon. Mais en même temps, s'amuser à décortiquer du code que l'on ne peut pas prévoir, c'est un peu mission impossible. Il faut des repères fixes sur lesquels s'appuyer. Du moins j'en ai besoin, y a plus calé que moi sur ce domaine !
Étudiant en 2ème année de Licence Informatique.
Max033
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 07 juin 2012 21:29
Status : Hors ligne

Re: [..] ControlID inexistant sur un navigateur dans la GUI

#5

Message par Max033 »

C'est pour ça enfaite que je dois passer par Tab, même si visuellement l'affichage est à la même place, le code source est totalement différent, surtout une partie invisible.

C'est pour ça que j'ai principalement que ControlSend agisse dans ma fenêtre.

Merci de ton aide en tout cas :)
Cordialement, Max.

(Ancien compte Au3Forum perdu & irrécupérable :/)
Max033
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 07 juin 2012 21:29
Status : Hors ligne

Re: [..] ControlID inexistant sur un navigateur dans la GUI

#6

Message par Max033 »

Bonjour, désolé double-post, mais j'ai résolu le problème.

Déjà, j'ignore pourquoi le ControlSend ne détectait pas mon navigateur, ça restera un mystère.

Mais il suffit juste d'utiliser un ControlClick & de faire un simple clique dans la fenêtre avant l'opération pour la sélectionner, enjoy.
Cordialement, Max.

(Ancien compte Au3Forum perdu & irrécupérable :/)
Répondre