Page 1 sur 1

[..] Agir sur une fenetre internet en arriere plan...

Posté : dim. 21 déc. 2008 00:46
par BackSlash
Voilà ma seconde question et celle là, j'ai beau chercher et je ne trouve pas la moindre aide au point de me demander si cela est possible, mais ceci dit je pense que oui...

Alors pour m'expliquer clairement (je l'espère...), prenons par exemple cette page:
http://www.autoitscript.fr/forum/search.php

Comment faire pour placer le curseur SANS UTILISER LES FONCTIONS QUI BOUGENT LA SOURIS dans la zone de texte de Recherche par Auteur par exemple...

Je pense qu'il doit y avoir moyen de faire un focus mais je seche pleinement là, et je ne sais meme pas quoi rechercher...

J'espere avoir été clair et j'attends avec impatience vos réponses

Re: Se placer dans une zone d'une page internet sans souris...

Posté : dim. 21 déc. 2008 00:57
par Tlem
Merci de respecter les règles de présentation d'un message dont voici le lien : http://www.autoitscript.fr/forum/viewto ... f=35&t=595.

Re: [...]Se placer dans une zone d'une page internet sans souris

Posté : dim. 21 déc. 2008 01:01
par BackSlash
Peux tu me preciser ce que tu veux dire par les respecter, car j'y accorde beaucoup d'importance sur chaque forum que je fréquente et après les avoirs lu plusieurs fois ( car ton message automatique est présent sur chaque Topic) je ne comprends pas ce que j'ai transgressé comme Rêgle...

Euh mon probleme n'est il pas assez clair ?

Re: [...]Se placer dans une zone d'une page internet sans souris

Posté : dim. 21 déc. 2008 01:06
par Tlem
C'était simplement la mise en place de la balise [..].

En ce qui concerne votre recherche, essayez ceci : http://www.autoitscript.fr/forum/viewto ... f=3&t=1270

Re: [...]Se placer dans une zone d'une page internet sans souris

Posté : dim. 21 déc. 2008 01:11
par BackSlash
:D Daccord dans ce cas, j'avais meme dejà corrigé avant que tu me le dises.

Merci pour le lien je ne savais plus ou cherché, je vais lire desuite et je mettrais le [R] si le probleme est bien résolu... :wink:

Re: [..] Se placer dans une zone d'une page internet sans souris

Posté : dim. 21 déc. 2008 17:48
par BackSlash
Bon alors tout dabord merci pour le lien il m'a apporté ce que je voulais mais maintenant j'ai encore quelque question.

Tout dabord j'explique ce que je veux faire...:
Poster un message sur une page d'un forum au bout de 3h.
Donc, je rentre le message à poster dans une inputbox, le programme attend 3h puis:
1 - Lance internet
2 - Se dirige sur la Page
3 - Copie le texte précédemment indiqué.
4 - Et valide.

J'ai reussit à faire tout celà mais maintenant
j'aimerai que cela soit fait en discret (aucune fenetre ne s'ouvre).

Je vous poste dabord mon script originel.

Code : Tout sélectionner

#include <IE.au3>

$Message = InputBox("Jeu des 3h", "Entrez la phrase :")                                         ;Saisie de la phrase.

sleep(10800000)
$oIE = _IECreate ("http://wwoy.forumactif.com/la-taverne-f4/le-jeu-des-3h-t1774.htm",0,1,1,1)   ;Lance en fenetre IE explorer à l'adresse indiquée.
_IELoadWait($oIE)                                                                               ;Permet d'attendre que la page soit lancée
$oSubmit = _IEGetObjByName ($oIE, "message")                                                    ;Recherche de la zone Message sur la Page internet. 
_IEAction ($oSubmit, "focus")                                                                   ;Place le curseur dans la zone Message.
_IEDocInsertText($oSubmit, $Message)                                                            ;Envoi du texte à poster.
sleep(500)
[color=#FF0000]$hwnd = _IEPropertyGet($oIE, "hwnd")                                                            ;Utilisation des Touches sous internet.
ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Tab}")                 ;Deplacement sur Boutton
ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Tab}")                 ;Deplacement sur Boutton
ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")               ;Validation et Envoi.
sleep(3000)     
send("!{F4}")                                                                                   ;Ferme la fenetre Ouverte.[/color]
Voilà le code qui marche parfaitement, seulement il faut que la fenetre internet soit afficher à l'écran pour que la partie en rouge fonctionne.
L'idée serait :
- soit d'envoyer (si celà est possible) les touches (Tab et Enter) à IE pour qu'il puisse les utiliser sans avoir besoin d'afficher la page.
- soit de faire ce que je voulais faire au tout depart, c'est à dire cliquer sur le bouton "Envoyer" gràce à son "name" mais là j'ai beau eu essayer pas moyen d'y arriver...


Je vous envoie ci dessous :
Le lien direct de la page : http://wwoy.forumactif.com/la-taverne-f ... 74-570.htm
Ainsi que la partie du code html concernant le bouton "envoyer" :

Code : Tout sélectionner

<input type="submit" [/b]name="post" class="mainoption" value="Envoyer" /></td><td class="row2" valign="top"><br /><br /><span class="genmed">
PS: Vous ne pourrez pas voir le boutton envoyer si vous y allez car vous n'etes pas enregistré, si celà vous est nécessaire pour m'aider je vous enverrai des logins d'un compte non utilisé...

Voici à quoi ressemble la zone qui nous interresse :
Image

Re: [...]Agir sur une fenetre internet en arriere plan...

Posté : lun. 22 déc. 2008 12:50
par SurPriseS
C'est normal que sa ne fonctionne pas en 'caché', il faut que tu utilise les commande _IE

Si tu appuie sur une touche alors que le truc est pas en premier plan, sa peut pas marché.

Y'a une commande de tête pour valider un formulaire, sa devrais marché.

Re: [...]Agir sur une fenetre internet en arriere plan...

Posté : lun. 22 déc. 2008 14:57
par BackSlash
Je m'en doute bien, mais justement j'aimerai savoir comment faire pour valider sans avoir à faire des controlesend...

Donc de ne plus avoir à utiliser les touches...

Le code Html de la page peut il vous aider ?

Y'a une commande de tête pour valider un formulaire,
=> Dites moi en plus...

Re: [...]Agir sur une fenetre internet en arriere plan...

Posté : lun. 22 déc. 2008 23:06
par SurPriseS
J'ai regardé vite fait et de tête j'aurais mis sa : _IEFormSubmit

Re: [...]Agir sur une fenetre internet en arriere plan...

Posté : lun. 22 déc. 2008 23:19
par timmalos
IL faut que tu utilise _IEFormSubMit pour envoyer le formulaire, en effet, pour avoir le nom il faudra te demerder avec _IEFormGetCollection et _IEFormElementGetCollection, tests à la clef, cf les exemples. IL faut mettre le texte avec _IEFormElementSetValue et non avec _IEDoc. Pas envi de faire le script maintenant, car il me faudrait un login mdp de surplus, alors bonne chance.

Re: [..] Agir sur une fenetre internet en arriere plan...

Posté : ven. 26 déc. 2008 18:07
par BackSlash
Tres bien merci, je viens de sortir des fetes la tete pas fraiche mais je vais quand meme m'y atteler, j'avais deja regardé et testé ces fonctions sans trop de résultats, je vais continuer à chercher et vous demanderez peut etre quelque précisions sur chacune d'elle si le besoin se fait ressentir ^^...