单击Web元素后无法执行Sikuli脚本。 (带Java的Selenium webdriver)

时间:2014-11-28 12:30:09

标签: java selenium sikuli

这是我的代码

public static void main(String[] args) throws  InterruptedException {

        WebDriver driver = new FirefoxDriver(); 
        //Open the URL
        driver.get("http://www.toolsqa.com/automation-practice-form/");
        //Maximize the window
        driver.manage().window().maximize();
        //Click on Button which will open file upload window
        driver.findElement(By.xpath(".//*[@id='photo']")).click();
        // Implementing Sikuli 
        ScreenRegion s = new DesktopScreenRegion();
        Target target = new ImageTarget(new File("D://SELENIUM WORK-PLACE/File_upload//img//Capture.PNG"));
        ScreenRegion r = s.wait(target, 20000);
        r=s.find(target); // Locate the target on the screen.
        //Create a Canvas object of the type DesktopCanvas.
        Canvas test = new DesktopCanvas();
        test.addBox(r);
        test.addLabel(r, "I am present here");
        test.display(5);
    }   
    }

实际结果:点击网址元素,打开文件上传框。什么都没发生。 (但是,如果我关闭Box并手动重新打开它,那么它可以正常工作)

预期输出它应该在我们第一次打开文件上传框时工作。

1 个答案:

答案 0 :(得分:0)

你的代码很好。修正路径:“D:// SELENIUM WORK-PLACE // File_upload // img // Capture.PNG”

然后,尝试使用下面的图像来获取文件名文本字段。因为图像的大小越大,Sikuli就越有可能无法检测到元素,因为即使像素的变化可能会妨碍Sikuli识别元素。:

enter image description here