[R] Checker un endroit precis sur ie

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

[R] Checker un endroit precis sur ie

#1

Message par touslesmatins »

Bonjour,
J'utilise ce bout de code qui me permet sur une page internet de cliquer sur l'image si est est rouge à un endroit précis et cela fonctionne.
Par contre de temps en temps une des barres ne s affiche pas, par exemple "liaison, menu, barre d etat". Et donc ma requete avec pixelgetcolor ne fonctionne plus car l'image à checker n'est plus à sa place....
Comment puis je forcer ie à toujours ouvrir avec les barres de menu ? et d'ailleurs est-ce possible ?

Code : Tout sélectionner

If PixelGetColor(1017, 449) = 0xF7D7D7 Then 
        _IEImgClick($oIE, "http://www.xxxxx\xxxx.gif");Click sur l'image=rouge

Merci
Modifié en dernier par touslesmatins le mar. 07 juil. 2009 19:52, modifié 1 fois.
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] checker un endroit precis sur ie

#2

Message par jumby »

Je te conseil d'utiliser la dll ainsi que l'include Imagesearch(2 fichiers ci-joint) qui va te permettre de reconnaître ton image sur toute la surface de l'écran si tu le souhaites, et de récupérer ces coordonnées.

Place l'image à chercher, le fichier ImageSearchDLL.dll ainsi que ImageSearch.au3 dans le même répertoire que ton script.

Code : Tout sélectionner

#include <ImageSearch.au3>
Global $x1
Global $y1

$imagename = 'image.jpg' ; Placez ici le nom de l'image à rechercher.
$searchimage = _ImageSearch($imagename, 1, $x1, $y1, $input1)
if $searchimage = 1 Then
MouseClick("left", $x1, $y1, 1)
endif
Fichiers joints
ImageSearch.zip
(42.44 Kio) Téléchargé 124 fois
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] checker un endroit precis sur ie

#3

Message par touslesmatins »

Merci jumby, le soucis c'est que je ne cherche pas une image, car cette image existe plusieurs fois sur la meme page et à differents endroits. Je cherche à cliquer sur l image uniquement si la condition "rouge" est trouvée à un endoit precis.
Dans votre proposition elle sera trouvée mais pas forcement celle que je souhaite trouver.
Dans ma requete je lui demande à une coordonnée precise de checher la couleur de l image et si c est rouge de cliquer. Donc les cooordonnees sont primordiales, car c est une des conditions de la suite du script. C'est pour cette raison que le code ci dessous, s'y trouve le "IF"

Code : Tout sélectionner

If PixelGetColor(1017, 449) = 0xF7D7D7 Then 
        _IEImgClick($oIE, "http://www.xxxxx\xxxx.gif");Click sur l'image=rouge
merci
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] checker un endroit precis sur ie

#4

Message par jumby »

D'accord.
Il est tout à fait possible de forcer l'apparition de la barre d'état.

Pour forcer l'apparition de la barre de statut :
If Not _IEPropertyGet ($oIE, "statusbar") Then _IEPropertySet ($oIE, "statusbar", True)

Pour forcer l'apparition de la barre d'adresse :
If Not _IEPropertyGet ($oIE, "addressbar") Then _IEPropertySet ($oIE, "addressbar", True)

Pour forcer l'apparition de la barre menu :
If Not _IEPropertyGet ($oIE, "menubar") Then _IEPropertySet ($oIE, "menubar", True)
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] checker un endroit precis sur ie

#5

Message par touslesmatins »

Hum Jumby, cela me semble repondre parfaitement à ma demande.
J'avais deja utilisé une de ces fonctions sans resultat, mais les 3 reunies pas encore. J'essaie de suite et vous remercie de toute facon par avance.
Merci
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] checker un endroit precis sur ie

#6

Message par touslesmatins »

Je comprends que c'est exactement ces fonctions qui repondent à mon probleme, mais à part la fonction avec "statubar" , les deux autres n'activent pas les barres d affichages.
► Afficher le texte
Si quelqu'un pouvait me dire pourquoi ?
(j'ai sur IE cliqué sur la barre des menus et desectionné les barres et ensuite lancé le script et attendu que les barre apparaissent, en vain.... :? )Merci
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] checker un endroit precis sur ie

#7

Message par jumby »

Marche impeccable avec moi.
J'ai fait un script qui a désactivé dans un premier temps statusbar, menubar et adressbar.
Un autre script qui réactive si désactivé statusbar, menubar, adressbar.

Assurez-vous que la variable $oIE correspond bien à une variable de votre application.
$fulltitle = WinGetTitle("[active]")
Si ce n'est pas le cas, utilisez _IEattach.

Code : Tout sélectionner

#include <IE.au3>
sleep(2000)
$fulltitle = ''; placez ici le nom de votre fenêtre IE
$oIE = _IEAttach($fulltitle)

If Not _IEPropertyGet ($oIE, "addressbar") Then _IEPropertySet ($oIE, "addressbar", True)
If Not _IEPropertyGet ($oIE, "menubar") Then _IEPropertySet ($oIE, "menubar", True)
If Not _IEPropertyGet ($oIE, "statusbar") Then _IEPropertySet ($oIE, "statusbar", True)
 
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] checker un endroit precis sur ie

#8

Message par jumby »

jumby a écrit :Marche impeccable avec moi.
J'ai fait un script qui a désactivé dans un premier temps statusbar, menubar et adressbar.
Un autre script qui réactive si désactivé statusbar, menubar, adressbar.

Assurez-vous que la variable $oIE correspond bien à une variable de votre application.

Si ce n'est pas le cas, utilisez _IEattach.

Code : Tout sélectionner

#include <IE.au3>
sleep(2000)
$fulltitle = ''; placez ici le nom de votre fenêtre IE
$oIE = _IEAttach($fulltitle)

If Not _IEPropertyGet ($oIE, "addressbar") Then _IEPropertySet ($oIE, "addressbar", True)
If Not _IEPropertyGet ($oIE, "menubar") Then _IEPropertySet ($oIE, "menubar", True)
If Not _IEPropertyGet ($oIE, "statusbar") Then _IEPropertySet ($oIE, "statusbar", True)
 
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] checker un endroit precis sur ie

#9

Message par jumby »

Marche impeccable avec moi.
J'ai fait un script qui a désactivé dans un premier temps statusbar, menubar et adressbar.
Un autre script qui réactive si désactivé statusbar, menubar, adressbar.

Assurez-vous que la variable $oIE correspond bien à une variable de votre application.

Si ce n'est pas le cas, utilisez _IEattach.

Code : Tout sélectionner

#include <IE.au3>
sleep(2000)
$fulltitle = ''; placez ici le nom de votre fenêtre IE
$oIE = _IEAttach($fulltitle)

If Not _IEPropertyGet ($oIE, "addressbar") Then _IEPropertySet ($oIE, "addressbar", True)
If Not _IEPropertyGet ($oIE, "menubar") Then _IEPropertySet ($oIE, "menubar", True)
If Not _IEPropertyGet ($oIE, "statusbar") Then _IEPropertySet ($oIE, "statusbar", True)
 
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] checker un endroit precis sur ie

#10

Message par touslesmatins »

Merci de votre aide. Mon navigateur est peut etre en cause, j 'essayerai sur un autre ordi.
Merci
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] checker un endroit precis sur ie

#11

Message par touslesmatins »

Bonjour,

Merci apres vérification c'est exactement ca, nickel chrome.
Encore merci
Répondre