Gambas France BETA


Pas de compte ? Incription

Scripter une automation de clicks

Ce sujet est résolu.

1
AuteurMessages
Nopnop06#1 Posté le 22/7/2012 à 19:59:05
Bonjour à tous,
Je suis nouveau sur Gambas, auparavant je travaillais sous AutoIT 3 qui est un gestionnaire de scripts ainsi que sous VB6.
Sous Gambas 2, je me trouve incapable de manipuler ma souris.
Mon souhait:
Suite à un choix sur FMain, je veux que ma souris pointe sur une page http des liens existants de manière automatique.

Pour le mouse.move et le EXEC, pas de pb, mais pour ce qui est de générer un click, nada. Donc, je m'en remet à votre base de connaissance.

Merci
spheris#2 Posté le 24/7/2012 à 13:05:46
Nopnop06,
Bonjour, pour réaliser ce que tu demandes, je passerais par l'évènement enter d'un label (label dans lequel je mettrais le lien internet)
voir dessin ci dessous :


;)
Jack#3 Posté le 24/7/2012 à 18:31:33
Bonjour

si ton menu s'appelle Menu1 alors.

Public Sub Menu1_Click()

Exec ["xdg-open", "http://www.Tonsite.fr"]

End
Pour un code démocratique nationalisons Gambas.
spheris#4 Posté le 24/7/2012 à 20:28:18
Jack,
Merci pour l'utilisation de la commande EXEC.
Mais je pense que ce qu'il veut faire, c'est :


Dans un texte il y a des liens et quand il ballade sa souris desus, cela affiche automatiquement des pages internets correspondantes au lien pointé.
Je ne pense pas que l'évènement click intervienne dans ce cas précis.

Je pense plutôt à l'évènement ENTER dans le widget dans lequel tu as ton texte.
;)





Nopnop06#5 Posté le 24/7/2012 à 20:46:48
Merci à tous pour vos réponses,

en fait, c'est pas tout à fait ce que je veux faire.

mon but est le suivant:

je lance mon appli, je clique sur le bouton qui correspond au site qui doit être automatisé, et là, le logiciel fait le reste tout seul.

ex:

EXEC("firefox","-r","usr/bin") 'je lance Firefox

WAIT 3 'j'attends le temps necessaire pour que firefox soit en route, et pas en rut ;)

Mouse.Move(200,300) 'je déplace ma souris sur le 1er lien

Click.tagada 'çà, c'est ce qui me manque pour faire un click sur le lien (à savoir, le lien change régulièrement, donc je ne doit pas prendre en compte l'adresse http du lien)

WAIT 2 'ici, j'attends que le lien réagisse

... etc

donc, à vous de me trouver le Click.tagada de chez Harry beau, hein ;)))
Prokopy#6 Posté le 25/7/2012 à 03:37:13
Kinder PinguiSalut Nopnop06,

Pour avoir déjà bien cherché, il n'y a pas de moyen de simuler un clic de souris, en Gambas, et même dans les librairies plus bas niveau comme Qt/GTK+.

D'ailleurs, c'est peut-être pas plus mal ... personnellement si sur mon ordi une appli se lance et fait danser la salsa à mon curseur, j'arrache le câble d'alim de peur que ce soit un méchant virus. :lol:
Par principe, et par définition, c'est l'utilisateur qui contrôle les périphériques d'entrée, pas la machine.

À mon avis, il y a sans doute une solution plus sage à ton problème.

Si j'ai bien compris, tu possède une adresse vers une page A, qui contient un lien vers une page X, sauf que ce lien peut varier à chaque visite, le seul facteur commun étant peut-être sa position dans la page ou le texte qu'il contient. Et dans tout ça, tu souhaites récupérer le lien vers X, ou peut-être le contenu de la page X elle-même.

Dans ce cas, la meilleure solution est sans doute de retirer firefox de la course, et de coder ton propre petit "robot" qui va fouiller le net tout seul comme un grand.
Pour cela, tu peux sans doute utiliser la classe HttpClient (composant gb.net.curl), qui permet de récupérer le contenu de n'importe quelle ressource accessible via HTTP (ce qui inclut donc naturellement les pages web). Je ne vais pas m'étendre dessus, il y en a largement assez à ce propos dans la doc de Gambas (et un peu partout d'ailleurs).

Ensuite, tu peux rechercher ton lien dans le code HTML qui en résulte, pour ensuite en extraire l'URL, et accéder à ta page X en utilisant la même méthode.

Voilà, ça c'est pour les grandes lignes, après pour le reste je suis sûr que tu sauras te débrouiller. :)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
Nopnop06#7 Posté le 25/7/2012 à 19:27:20
Merci pour cette réponse Prokopy,

Je vais suivre ton conseil, qui me semble avisé et me tourner vers cette classe qui ne m'est pas encore très familière (mais je sens qu'on va s'aimer :) )
Pour la salsa, j'apprendrais les pas avant de faire danser ton curseur ;) mais je vais y penser :)

et encore merci à toute la communauté, l'esprit Gambassien me plait bien.

Reivillo#8 Posté le 26/7/2012 à 17:40:51
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonsoir Nopnop06.

Simuler un Click Souris!

Pour cela, personnellement,
j'utilise xdotool.
A télécharger en Console:
sudo apt-get install xdotool

Et dans ton cas précis, à utiliser comme suis:

1
2
3
Mouse.Move(200, 300)
EXEC ["xdotool", "click", "1"]
WAIT 2


Reivillo.

Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Nopnop06#9 Posté le 4/8/2012 à 12:59:22
Genial, merci Reivillo
1