Sikuli点击。 (ScreenCaptureImage)在java中

问题描述 投票:0回答:4

我是Sikuli的新手,我想

1. click windows button, and 
2. type "Helloworld"  
3. press Enter. 

我编写了这个并在Sikuli IDE中成功运行

click("1391583846712.png")
type("helloWorld")
wait(2)
type(Key.ENTER)

我试图把它移到Java,从sikuli javadocs我看到以下代码,但它不适用于java sikuli-api-1.0.2和最新版本

import org.sikuli.script.*;

public class TestSikuli {

    public static void main(String[] args) {
            Screen s = new Screen();
            try{
                    s.click("imgs/win-start.png", 0);
                    s.wait("imgs/spotlight-input.png");
                    s.type(null, "hello world\n", 0);
            }
            catch(FindFailed e){
                    e.printStackTrace();
            }

    }

}

它告诉Screen是一个界面。请告诉我如何使用最新的java sikuli-api。请注意我对Sikuli很新。任何建议将受到高度赞赏。另请指出我的正确的sikuli java为初学者

java sikuli
4个回答
0
投票

new org.sikuli.api.DesktopScreenRegion()在基本全屏幕上创建了一个ScreenRegion,您可以在其中单击并搜索图像

您最好找到新API的构建方法是查看the sources。幸运的是,没有很多课程可以理解。


0
投票

以下Sikuli Java代码应该可以工作:

import org.sikuli.script.*;
public class HelloWorld {
    public static void main(String[] args){
        Screen screen = new Screen();
        try{


screen.click("D:\\Sikuli\\WinStartButton.png");

//“WinStartButton.png”必须存在于您正在使用的所需位置 // OR,而不是上面的行,您可以使用以下内容:

screen.type(Key.WIN);

        }
        catch(FindFailed e){
            e.getStackTrace();
        }
        screen.type("Hello World");
        screen.type(Key.ENTER);
    }
}

0
投票

尝试在代码中使用图像定位器,

import org.sikuli.script.*;

import org.sikuli.basics.ImageLocator;

public class AuthLogin {
public static void main(String[] args) {
        Screen s = new Screen();
ImageLocator.setBundlePath("path to img directory");
        try{
                s.click("win-start.png", 0);
                s.wait("spotlight-input.png");
                s.type(null, "hello world\n", 0);
        }
        catch(FindFailed e){
                e.printStackTrace();
        }
 }

0
投票

我认为你不应该直接在代码中使用绝对图像路径。我会创建一个包含绝对路径作为静态常量的类。

示例:

代替 :

screen.click( "D:\\Sikuli\\WinStartButton.png");

你可以这样做:

public static final String IMAGE = "D:\\Sikuli\\WinStartButton.png";

screen.click(IMAGE);
© www.soinside.com 2019 - 2024. All rights reserved.