2014-02-11 161 views
0

我是新來Sikuli,我想Sikuli點擊。 (ScreenCaptureImage)在Java中

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(); 
      } 

    } 

}

它告訴屏幕是一個接口。請告訴我如何使它在最新的java sikuli-api中工作。請看我對Sikuli很新。任何建議將不勝感激。還請指出我的begineers

+0

如果您是新手,請嘗試閱讀文檔或手冊。 –

+0

文檔對於java sikuli api已過時。 – debiansse

+0

嘗試將直接導入添加到'org.sikuli.script.Screen'。 –

回答

0

new org.sikuli.api.DesktopScreenRegion()權sikuli的Java創建的基礎上一個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」必須存在於你正在使用
//或所需的位置,而不是您可以使用下面的上述行:

screen.type(Key.WIN); 

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

我已經使用了我的絕對圖像路徑。請使用您的圖像路徑代替 –

+0

最好在Project中創建一個圖像文件夾,並將其作爲所有圖像文件夾。 –

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(); 
     } 
}