[R] Position du focus

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
dug
Niveau 1
Niveau 1
Messages : 7
Enregistré le : dim. 31 août 2008 21:13
Status : Hors ligne

[R] Position du focus

#1

Message par dug »

Bonjour,

je cherche à récupèrer la position x,y du focus dans une page web de Firefox.
je compte me servir de la position pour simuler le déplacement de la souris, pour accéder à un composant vidéo dont je n'ai pas accès dans le parcours des tabulations de la page web.

quelqu'un a une idée comment faire cela ?
j'utilise autoit depuis peu, et je n'ai pas réussi à trouver un moyen de faire cela...

merci d'avance :roll:
Modifié en dernier par jbnh le mar. 02 sept. 2008 16:05, modifié 2 fois.
Raison : Ajout de la balise [..] dans le titre.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Position du focus

#2

Message par jbnh »

Bienvenu sur le forum, merci de jeter un petit coup d'oeil ici : http://www.autoitscript.fr/forum/viewto ... ?f=3&t=595

Malgré que je ne sache pas ce que vous appellez 'focus dans une page web de Firefox', avec autoit vous avez recu un petit logiciel : Autoit windows Info , onglet souris qui vous affiche la position de la souris sur l'écran en temps réel.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
dug
Niveau 1
Niveau 1
Messages : 7
Enregistré le : dim. 31 août 2008 21:13
Status : Hors ligne

Re: [..] Position du focus

#3

Message par dug »

merci :)

j'ai lu ton lien, j'ai oublié la balise [..] désolé...

j'ai vu l'application "Autoit windows Info", mais je souhaite le faire automatiquement.
le but serait de démarrer une vidéo sur une page web. Par contre, je n'ai pas accès au composant par les tabulations, donc je pensais m'en approcher par une zone texte qui est à coté, dont je peux avoir le focus dessus.
Mais je n'arrive pas avec les divers fonctions que j'ai testé, à récupérer la position de cette zone texte. Cette position me permettrait à priori de déplacer la souris avec un décalage, pour démarrer la vidéo automatiquement...

par contre, les testes que j'ai fais n'était pas concluant :(


tiens, je viens de penser à une option d'accessibilité, qui place la souris sous le focus...
dug
Niveau 1
Niveau 1
Messages : 7
Enregistré le : dim. 31 août 2008 21:13
Status : Hors ligne

Re: [..] Position du focus

#4

Message par dug »

finalement, la seul option d'accessibilité est le focus sur le bouton par défaut des boite de dialogue :(

je n'arrive toujours pas à récupèrer le focus, même d'un onglet firefox...

j'ai testé ça:

Code : Tout sélectionner

AutoItSetOption( "WinTitleMatchMode", 2 )
WinWaitActive("Mozilla Firefox")

MsgBox( 0, "", "trouve" )
Sleep( 500 )

$win = _WinAPI_GetFocus()
$text = "win: " & $win & @LF
$text &= "Full Title: " & WinGetTitle($win) & @LF
$text &= "Full Text: " & WinGetText($win) & @LF
$text &= "Handle: " & WinGetHandle($win) & @LF
$text &= "Process: " & WinGetProcess($win) & @LF
$text &= "GetWindowText : " & _WinAPI_GetWindowText($win) & @LF
MsgBox(0, "", $text)
résultat handle à null
quelqu'un à une piste please ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Position du focus

#5

Message par Tlem »

jbnh vous parlait de l'utilisation de "Autoit windows Info" pour récupérer les informations sur le contrôle en question pour pouvoir l'utiliser ensuite dans une automatisation.
Malheureusement FireFox ne permet pas ce genre de manipulation donc cette voie est sans issue.

Par contre vous pouvez tout simplement rechercher le contrôle dans le code source de la page et faire l'action désirée ...
La recherche d'éléments dans le code source d'une page Web à déjà été abordé à plusieurs reprise, donc avec un peut de recherche sur le forum vous trouverez sans doute votre bonheur.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
dug
Niveau 1
Niveau 1
Messages : 7
Enregistré le : dim. 31 août 2008 21:13
Status : Hors ligne

Re: [..] Position du focus

#6

Message par dug »

merci de ta réponse.

je vais essayé cette piste, et je vais tenter aussi avec l'utilisation de PixelGetColor pour retrouver mon controle.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Position du focus

#7

Message par jbnh »

dug a écrit :je vais tenter aussi avec l'utilisation de PixelGetColor pour retrouver mon controle.
C'est en effet , selon moi, la meuilleur solution, hésite pas à demander si tu as un problème .
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
dug
Niveau 1
Niveau 1
Messages : 7
Enregistré le : dim. 31 août 2008 21:13
Status : Hors ligne

[R] Position du focus

#8

Message par dug »

voilà ce que cela donne, si cela peut aider... :

Code : Tout sélectionner

;   *** recherche de la position du contrôle vidéo ***
$arr = WinGetPos("Mozilla Firefox")

$col_background = 0
$x = 5
$y = 5
$col = 1

While $col <> $col_background
    $col = PixelGetColor( $x , $y )
    $y = $y +5
WEnd

$y_entete = 350     ;   à recalculer par rapport à la résolution
$y = $y + $y_entete
$col = $col_background

While $col = $col_background
    $col = PixelGetColor( $x , $y)
    $x = $x +5
WEnd
$x = $x +10


;   *** démarrage et arrêt de la vidéo ***
MouseClick("left", $arr[0] + $x, $arr[1] + $y)
sleep(1000)
MouseClick("left", $arr[0] + $x, $arr[1] + $y)
 
dug
Niveau 1
Niveau 1
Messages : 7
Enregistré le : dim. 31 août 2008 21:13
Status : Hors ligne

Re: [..] Position du focus

#9

Message par dug »

heu... on fait comment pour changer la balise en [R] du topic ? :roll:

Jbnh: Je l'ai fait pour toi, il suffit d'éditer son premier message
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [R] Position du focus

#10

Message par timmalos »

Peut on avoir le code-source de ta page? il y a surement moyen de faire bien mieux grace à l'UDF _IE.au3.
Elle est assez compliquée à mettre en oeuvre mais on est la pour t'aider :)
dug
Niveau 1
Niveau 1
Messages : 7
Enregistré le : dim. 31 août 2008 21:13
Status : Hors ligne

Re: [R] Position du focus

#11

Message par dug »

topo sur le code du script.
il ne fonctionne pas encore tout à fait, à cause à priori du temps de réponse de l'appli lors de l'envoi de touche... déjà eu ce problème, et à part mettre des Sleep dans le code, je connais pas d'autre solution :(
il est censé fonctionner sur le site http://leweb2zero.tv/ (un peu de pub ne fait pas de mal, surtout pour ce très bon site...) pour récupèrer dans un répertoire du nom de la page, sur tous les onglets ouverts, la vidéo, une sauvegarde de la page, et le lien url vers la page (ça ce n'est pas fait, et à part glisser un onglet dans l'explorateur, je n'ai pas trouvé d'autre méthode, et cela me semble compliqué...)
peut être plus tard une adaptation pour dailymotion ou autre...

il fonctionne avec le pluging de firefox "Video DownloadHelper 3.2" (en dernière position dans le menu Outils) (https://addons.mozilla.org/fr/firefox/addon/3006)

des questions, conseils ou autre, n'hésitez pas, je débute avec AutoIt, j'étais passé à coté des fonctions _IE :roll:
► Afficher le texte
Répondre