java - Eclipse 中的 SikuliX 错误消息 - Ubuntu - [错误] ImagePath: find: not there: imgs/spotlight.png FindFailed: imgs/spotlight.png: (0x0)
问题描述
我刚刚在 Ubuntu 16.04 下安装了 SikuliX(sikulixapi-2.0.4.jar) 和 Eclipse Oxygen。测试程序如下:
import org.sikuli.script.*;
public class Test {
public static void main(String[] args) {
Screen s = new Screen();
try{
s.click("imgs/spotlight.png");
//s.wait("imgs/spotlight-input.png");
//s.click();
s.write("hello world#ENTER.");
}
catch(FindFailed e){
e.printStackTrace();
}
}
}
但是,当我运行测试程序时,我收到以下错误消息:
[错误] ImagePath:查找:不存在:imgs/spotlight.png
FindFailed: imgs/spotlight.png: (0x0) in R[0,0 1280x800]@S(0) Line 2222,在文件 Region.java 的 org.sikuli.script.Region.wait(Region.java:2222) 中org.sikuli.script.Region.wait(Region.java:2240) 在 org.sikuli.script.Region.getLocationFromTarget(Region.java:3188) 在 org.sikuli.script.Region.click(Region.java:3806)在 org.sikuli.script.Region.click(Region.java:3782) 在 Test.main(Test.java:9)
我进行了搜索,并在https://answers.launchpad.net/sikuli/+question/668883找到了与此错误相关的另一篇文章。
我使用 Gnome 屏幕截图制作了我的第一个屏幕截图,并使用 Gimp 屏幕截图制作了另一个屏幕截图,但是在这两种情况下我仍然收到相同的错误。
正如您在下面看到的,图片spotlight.png 似乎是Eclipse 在项目中找到的。在此先感谢您的帮助。
解决方案
您存储图像的位置必须在 SikuliX ImagePath 中注册。在您的情况下,当您在 Eclipse 中运行这些东西时,它是当前工作文件夹(项目文件夹)。
在 main() 的开头添加它。
ImagePath.add(System.getProperty("user.dir"))
来自 SikuliX 的 RaiMan
推荐阅读
- r - 过滤不包含在单独数据框中的日期
- python - 使用 ctypes 通过引用传递整数数组
- azure - 如何阻止 Kentico 事件日志变得庞大?
- sql - 如何从 teamcity 代理上的 gradle 脚本运行 sql 文件(具有多个查询和评论)
- redirect - 在 onSubmit 成功后 Redux-Form 无法重定向
- javascript - 返回数据后调用函数
- python - 检查当前日期是否是一周中的合格日期
- c# - 这些在 Visual Studio 中创建的随机 .partial 文件是什么?
- django - 在 Django REST 中序列化 SQL 函数
- c# - .NET 在内存转储中固定句柄,没有互操作或固定