Java Sikuli没有点击找到的图像?
这是我目前拥有的Java Sikuli没有点击找到的图像?,java,sikuli,Java,Sikuli,这是我目前拥有的 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{
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(pattern)方法不起作用。(我选择的按钮尚未单击)。下面是它输出的调试
[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上工作,但我试图让它在客户端上按一个登录按钮,而它拒绝按,只是在上面滑动鼠标。查看您的错误日志,我确实看到Sikuli点击了一下
因为它确实记录了
[log]点击L(110265)@S(0)[0,0 1280x800]
您的应用程序/程序似乎没有响应
可能是您首先需要单击程序或使用
App.focus()
或者像Barney WaitForIt说的那样,App.focusedwindow()
因为有时我们会在屏幕上看到一个应用程序/程序。但是,它并不是真正的选择
例如,如果您在windows桌面上打开一个文件夹,然后单击它旁边的。该文件夹不是选定的文件夹
还有更多的应用程序。您可以使用的函数:您不需要添加有问题的Java,因为您已经标记了该语言。查看您的错误日志,我确实看到Sikuli单击了一下。因为它确实记录了
[log]点击L(110265)@S(0)[0,0 1280x800]
。您的应用程序/程序似乎没有响应。