Sikuli没有点击找到的图片?

问题描述 投票:-1回答:1

这是我目前的情况。

public static void main(String[] args) throws FindFailed {
        Debug.setDebugLevel(3);
        Screen s = new Screen();
        click(s.userCapture().getFile());
}

    private static void click(String image) throws FindFailed{

        Screen screen = new Screen();

        Pattern pattern = new Pattern(image).similar((float) 0.7);

        if(screen.find(pattern) != null)
        { 
            screen.mouseMove(pattern); 
            screen.click(pattern); 
        }
    }

基本上这是一个简单的脚本,可以点击屏幕的选定部分。但是,当我的鼠标移动到所选部分时,screen.click(模式)方法无效。 (我选择的按钮没有被点击)。这是它输出的调试。

[debug] P(C:\Users\Clinder\AppData\Local\Temp\sikuli-2679855232724202895.png) S: 0.7 has appeared.
[debug] waiting for P(C:\Users\Clinder\AppData\Local\Temp\sikuli-2679855232724202895.png) S: 0.7 to appear
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1280,height=800]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1280,height=800]
[debug] P(C:\Users\Clinder\AppData\Local\Temp\sikuli-2679855232724202895.png) S: 0.7 has appeared.
[debug] waiting for P(C:\Users\Clinder\AppData\Local\Temp\sikuli-2679855232724202895.png) S: 0.7 to appear
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1280,height=800]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1280,height=800]
[debug] P(C:\Users\Clinder\AppData\Local\Temp\sikuli-2679855232724202895.png) S: 0.7 has appeared.
[log] CLICK on L(110,265)@S(0)[0,0 1280x800]

有没有人知道点击方法没有点击的原因?

谢谢!

编辑:由于一些奇怪的原因,它适用于某些程序,但不适用于其他程序。它适用于IE浏览器,但我试图让它按下客户端上的登录按钮并且拒绝按下它,只是鼠标悬停在它上面。

java sikuli
1个回答
0
投票

查看您的错误日志,我确实看到Sikuli点击了一下。 因为它确实记录了[log] CLICK on L(110,265)@S(0)[0,0 1280x800]。 好像您的应用程序/程序没有响应。

这可能是你首先需要点击该程序或使用像Barney WaitForIt所说的App.focus()App.focusedwindow()。 比较我们在屏幕上看到的app / program。但是,它并没有真正被选中。 例如,如果您在Windows桌面上打开一个文件夹,然后单击它旁边的。该文件夹不是被选中的文件夹。

还有更多的应用程序。你可以使用的功能:Link

© www.soinside.com 2019 - 2024. All rights reserved.