我是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 for begineers
答案 0 :(得分:0)
new org.sikuli.api.DesktopScreenRegion()
在基本全屏幕上创建ScreenRegion
,您可以点击并查找图片
查找新API的最佳方法是查看the sources。幸运的是,没有很多课程可以理解。
答案 1 :(得分: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);
}
}
答案 2 :(得分: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();
}
}
答案 3 :(得分:0)
我认为您不应该在代码中直接使用绝对图像路径。 我将创建一个包含绝对路径作为静态常量的类。
示例:
而不是:
screen.click( "D:\\Sikuli\\WinStartButton.png");
您可以这样:
public static final String IMAGE = "D:\\Sikuli\\WinStartButton.png";
screen.click(IMAGE);