Page 1 of 1

cliquer sur une image

Posted: 12 Dec 2012, 18:21
by Michel
Un petit bout de code qui peut servir : cliquer sur une zone de l'écran ou d'une fenêtre correspondant à une image. Idéal pour cliquer sur un menu d'une application Office par exemple... ;-)

Code: Select all

/**
* clickOnImage : clique sur une image à l'écran ou dans la fenetre passée en parametre
* Parametres:
*  - imgPath : chemin de l'image a chercher
*  - myWin : optionnel objet Window ou rechercher la fenêtre
*
*  throws :TypeError si myWin n'est pas un objet
*  returns: true si l'image a été trouvée, false sinon
*/
function clickOnImage(imgPath,myWin) {
    var screen ;
    var offX,offY
    var myImg = new Image(imgPath);
    switch (typeof(myWin)) {
      case "undefined": {
        screen = Image.takeScreenshot();
        offX = 0; offY = 0;
        break;
      }
      case "object": {
        screen = Image.takeScreenshot(myWin);
        offX = myWin.rect(true).x;
        offY = myWin.rect(true).y;
        break;
      }
      default:
        throw new TypeError("Wrong type for myWin");
    }
    var searchRes = screen.findSubImage(myImg,{downPyramidCount:1});
    if (searchRes) {
        offX +=searchRes.position.x;
        offY +=searchRes.position.y;
        //Console.print("clickonImage found image in : " + offX + " , " + offY  );
        var moo = new Mouse();
        moo.move(new Point(offX,offY));
        moo.click(Mouse.LeftButton);
        return true;
    } else {
        return false;
    } 
}