Page 1 sur 1

[R] Checker un endroit precis sur ie

Posté : sam. 04 juil. 2009 14:33
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

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

Posté : sam. 04 juil. 2009 14:50
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

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

Posté : sam. 04 juil. 2009 15:00
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

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

Posté : sam. 04 juil. 2009 15:08
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)

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

Posté : sam. 04 juil. 2009 15:15
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

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

Posté : sam. 04 juil. 2009 15:42
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

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

Posté : sam. 04 juil. 2009 16:12
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)
 

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

Posté : sam. 04 juil. 2009 16:12
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)
 

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

Posté : sam. 04 juil. 2009 16:12
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)
 

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

Posté : sam. 04 juil. 2009 18:22
par touslesmatins
Merci de votre aide. Mon navigateur est peut etre en cause, j 'essayerai sur un autre ordi.
Merci

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

Posté : mar. 07 juil. 2009 19:52
par touslesmatins
Bonjour,

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