Page 1 sur 1
[R] ControlClick dans Internet Explorer
Posté : sam. 23 juil. 2011 16:28
par zzzenzo
Bonjour,
Étant un nouvel utilisateur d'AutoIt, j'ai un petit problème qui peut sembler simple à résoudre pour certains mais qui m'ennuie sérieusement depuis quelques jours déjà. Après plusieurs heures à rechercher la solution sur le net et sur ce forum, j'ai testé quelques trucs mais rien ne fonctionne.
En fait, il s'agit juste de faire un ControlClick dans la barre d'adresse d'internet Explorer. Pour l'instant mon code se résume à ouvrir IE et je sèche sur les données à entrer dans le ControlClick.
Ci-dessous, les infos que me donnent AutoIt Window Info lorsque je clique dans la barre d'adresse d'IE :
>>>> Window <<<<
Title: Google - Windows Internet Explorer
Class: IEFrame
Position: -4, -4
Size: 1288, 778
Style: 0x17CF0000
ExStyle: 0x00000100
Handle: 0x008802BE
>>>> Control <<<<
Class: ToolbarWindow32
Instance: 2
ClassnameNN: ToolbarWindow322
Name:
Advanced (Class): [CLASS:ToolbarWindow32; INSTANCE:2]
ID:
Text: Liste déroulante Adresse
Position: 138, 5
Size: 808, 22
ControlClick Coords: 18, 11
Style: 0x5600B94D
ExStyle: 0x00000080
Handle: 0x008D0332
Merci par avance de votre aide ; en espérant trouver une solution à mon problème.
Bien cordialement.
Re: ControlClick dans la barre d'adresse d'Internet Explorer
Posté : sam. 23 juil. 2011 16:30
par timmalos
Je vous invite à lire les règles du forum, en particulier sur votre titre, avant que votre post ne soit supprimé par un modérateur de mauvaise humeur
Quant à votre problème, vous devirez vous tourner vers IE.au3.
Avec un _IECreate() vous lancez internet explorer, puis vous pourrez faire tout ce que vous avez besoin comme automatisation.
Re: [..] ControlClick dans la barre d'adresse d'Internet Exp
Posté : sam. 23 juil. 2011 17:24
par mikell
Code : Tout sélectionner
Opt("WinTitleMatchMode", 2)
WinActivate("Microsoft Internet Explorer")
Send("!d")
Mais c'est vrai que IE.au3 c'est bien mieux
Re: ControlClick dans la barre d'adresse d'Internet Explorer
Posté : sam. 23 juil. 2011 17:54
par Tlem
timmalos a écrit :avant que votre post ne soit supprimé par un modérateur de mauvaise humeur
Pourquoi faudrait-il toujours que le modérateur soit de mauvaise humeur pour supprimer un message ?
La plupart du temps, lorsque je le fait, je ne suis pas de mauvaise humeur et je n'ai rien contre l'utilisateur lui même (il en est de même de la part de mes petits camarades). Si nous supprimons un message, c'est qu'il y a des raisons : Soit il ne correspond pas à la charte de présentation des messages (pourtant il y a un template lors de la création d'un sujet), soit il ne correspond pas aux règles de bienséance du forum.
Les messages qui respectent le règlement du forum sont toujours là !!!

Re: [..] ControlClick dans la barre d'adresse d'Internet Exp
Posté : sam. 23 juil. 2011 18:09
par zzzenzo
mikell a écrit :Code : Tout sélectionner
Opt("WinTitleMatchMode", 2)
WinActivate("Microsoft Internet Explorer")
Send("!d")
Merci pour le code
mikell.
timmalos a écrit :Je vous invite à lire les règles du forum, en particulier sur votre titre, avant que votre post ne soit supprimé par un modérateur de mauvaise humeur

Je viens de rectifier mon titre, en espérant qu'il n'y ait plus rien dans ce topic qui aille à l'encontre des règles du forum.
timmalos a écrit :Quant à votre problème, vous devirez vous tourner vers IE.au3
Merci du tuyau
timmalos. Je ne connais pas du tout
IE.au3 et je vais donc creuser un peu.
Par contre, ce qui m'intéresse avant tout, c'est de maitriser les
ControlClick dans
Internet Explorer ou même dans
Firefox. Il est vrai que pour accéder à la barre d'adresse d'
IE, il n'y en a pas franchement besoin car on peut passer par le clavier (Alt + D) mais, par exemple, pour cliquer dans une case à remplir sur un site, n'est-il pas possible de faire un
ControlClick ?
Je joins, ci-dessous, les informations sur une case dans laquelle je pourrais vouloir cliquer. Si quelqu'un à une idée du
ControlClick à réaliser dans ce cas précis, cela m'aiderait énormément à comprendre comment fonctionnent ces
ControlClick et surtout à pouvoir en refaire quand je le souhaite.
>>>> Window <<<<
Title: http://www.notarapper.com - Windows Internet Explorer
Class: IEFrame
Position: -4, -4
Size: 1288, 778
Style: 0x17CF0000
ExStyle: 0x00000100
Handle: 0x004603D0
>>>> Control <<<<
Class: Internet Explorer_Server
Instance: 1
ClassnameNN: Internet Explorer_Server1
Name:
Advanced (Class): [CLASS:Internet Explorer_Server; INSTANCE:1]
ID:
Text:
Position: 0, 64
Size: 1280, 684
ControlClick Coords: 1040, 579
Style: 0x56000000
ExStyle: 0x00000000
Handle: 0x00100506
Merci encore par avance pour votre aide.
Re: ControlClick dans la barre d'adresse d'Internet Explorer
Posté : sam. 23 juil. 2011 18:52
par timmalos
Tlem a écrit :timmalos a écrit :avant que votre post ne soit supprimé par un modérateur de mauvaise humeur
Pourquoi faudrait-il toujours que le modérateur soit de mauvaise humeur pour supprimer un message ?
La plupart du temps, lorsque je le fait, je ne suis pas de mauvaise humeur et je n'ai rien contre l'utilisateur lui même (il en est de même de la part de mes petits camarades). Si nous supprimons un message, c'est qu'il y a des raisons : Soit il ne correspond pas à la charte de présentation des messages (pourtant il y a un template lors de la création d'un sujet), soit il ne correspond pas aux règles de bienséance du forum.
Les messages qui respectent le règlement du forum sont toujours là !!!

Bien d'accord, mais je sais que personnellement, il y a certaines fois ou j'ai pas envie de faire un effort et hop poubelle, et d'autres comme celui-ci ou le mec dit Bonjour et Merci et je prend le temps d'ecrire une réponse car je sais qu'il corrigera son effort ensuite

Re: [..] ControlClick dans Internet Explorer
Posté : sam. 23 juil. 2011 19:03
par zzzenzo
>>>> Window <<<<
Title: http://www.notarapper.com - Windows Internet Explorer
Class: IEFrame
Position: -4, -4
Size: 1288, 778
Style: 0x17CF0000
ExStyle: 0x00000100
Handle: 0x004603D0
>>>> Control <<<<
Class: Internet Explorer_Server
Instance: 1
ClassnameNN: Internet Explorer_Server1
Name:
Advanced (Class): [CLASS:Internet Explorer_Server; INSTANCE:1]
ID:
Text:
Position: 0, 64
Size: 1280, 684
ControlClick Coords: 1040, 579
Style: 0x56000000
ExStyle: 0x00000000
Handle: 0x00100506
En utilisant les données de
AutoIt Window Info ci-dessus et en m'acharnant, j'ai enfin réussi en faisant ceci :
Code : Tout sélectionner
ControlClick("http://www.notarapper.com - Windows Internet Explorer", "", "", "left", "1", "1040", "579")
Grâce à ce code, un clic se fait automatiquement dans la case du site. Par contre, comme
AutoIt Window Info ne me donnait n'y le texte, ni l'ID, j'ai dû utiliser les coordonnées (ici, 1040 et 579). Or, admettons que le responsable de
http://www.notarapper.com (dans cet exemple) change quelque peu son site, j'imagine que les coordonnées ci-dessus ne seront plus valables et donc que mon
ControlClick ne fonctionnera plus. Ai-je raison? Où tort peut-être?
Re: ControlClick dans la barre d'adresse d'Internet Explorer
Posté : sam. 23 juil. 2011 19:14
par mikell
Tlem a écrit :Pourquoi faudrait-il toujours que le modérateur soit de mauvaise humeur pour supprimer un message ?
Se pourrait-il qu'il ait été fait allusion à certain modérateur vert et greuhisant ?
zzzenzo, oubliez le ControlClick pour les fenêtres IE, le [CLASS:Internet Explorer_Server; INSTANCE:1] ne peut vous apporter aucun renseignement précis
Par contre je vous conseille violemment de suivre la recommandation de timmalos et de vous tourner vers l'UDF IE.au3
Vous y trouverez les fonctions (simples) qui vous permettront de :
- vous rendre sur la page voulue,
- définir par son identifiant html la case à remplir,
- la remplir,
- soumettre la requête
- ...and much more
Il existe l'équivalent de IE.au3 pour firefox mais l'usage en est un peu plus compliqué
edit: il suffit de redimensionner la fenêtre IE pour que vos coordonnées ne soient plus valables...
Re: [..] ControlClick dans Internet Explorer
Posté : sam. 23 juil. 2011 19:24
par zzzenzo
zzzenzo, oubliez le ControlClick pour les fenêtres IE, le [CLASS:Internet Explorer_Server; INSTANCE:1] ne peut vous apporter aucun renseignement précis
Par contre je vous conseille violemment de suivre la recommandation de timmalos et de vous tourner vers l'UDF IE.au3
Vous y trouverez les fonctions (simples) qui vous permettront de :
- vous rendre sur la page voulue,
- définir par son identifiant html la case à remplir,
- la remplir,
- soumettre la requête
- ...and much more

Il existe l'équivalent de IE.au3 pour firefox mais l'usage en est un peu plus compliqué
edit: il suffit de redimensionner la fenêtre IE pour que vos coordonnées ne soient plus valables...
À vrai dire, ce petit problème commençait vraiment à m'ennuyer et je suis donc soulagé d'apprendre que le
ControlClick sous
IE ne fonctionne pas terrible et donc que le problème ne vient pas QUE de moi qui ne manie pas encore
AutoIt correctement (loin de là d'ailleurs

). Je te dis donc merci
mikell pour le conseil que je vais suivre en étudiant de plus près cet
UDF IE.au3.
En tout cas, je reviendrai sur ce forum. Étant débutant, c'est toujours appréciable d'avoir de l'aide et de pouvoir compter sur un forum comme celui-ci. Merci à tous de votre aide et à bientôt peut-être (même sûrement

).
Re: [R] ControlClick dans Internet Explorer
Posté : sam. 23 juil. 2011 19:49
par mikell
zut trop tard
j'ai pas eu le temps d'y mettre l'exemple pour son site
► Afficher le texte
Code : Tout sélectionner
#include <IE.au3>
$oIE = _IECreate ("http://apps.attainresponse.com/home/notarapper@comf5.com/notarapper.tv")
_IELoadWait ($oIE)
$oForm = _IEFormGetObjByName ($oIE, "frmSS14702")
$oQuery = _IEFormElementGetObjByName ($oForm, "email")
_IEFormElementSetValue ($oQuery, "tagada@free.fr")
Sleep(2000)
;_IEFormSubmit ($oForm)
Re: [R] ControlClick dans Internet Explorer
Posté : sam. 23 juil. 2011 20:01
par zzzenzo
mikell a écrit :Code : Tout sélectionner
#include <IE.au3>
$oIE = _IECreate ("http://apps.attainresponse.com/home/notarapper@comf5.com/notarapper.tv")
_IELoadWait ($oIE)
$oForm = _IEFormGetObjByName ($oIE, "frmSS14702")
$oQuery = _IEFormElementGetObjByName ($oForm, "email")
_IEFormElementSetValue ($oQuery, "tagada@free.fr")
Sleep(2000)
;_IEFormSubmit ($oForm)
Waouh ! Je viens de tester le code et c'est tout simplement génial. Il me tarde de connaître les rudiments nécessaires pour faire ce genre de choses. Un grand merci
mikell.
Re: [R] ControlClick dans Internet Explorer
Posté : sam. 23 juil. 2011 22:31
par mikell
De rien c'était un plaisir
Je suggère de commencer par lire
ça