-1

我有一个 sikuli 代码,它在 Sikuli IDE 上运行良好。然后我把它转换成.skl文件。当我运行时.skl,它会抛出 30-40 行错误,当我在 Sikuli IDE 上运行实际的 sikuli 程序时,它运行良好。我的系统中没有 Python IDLE,我得到的错误是

由于前 22 行不可见,我将其粘贴在下面:-

Runtime Error when running C:\DOCUME~1\t6-test\LOCALS~1\Temp\tmp-664999291.sikuli\test.sikuli
Traceback (most recent call last):
File "<string>",line 1,in <module>
File "C:\Program Files\Sikuli X\sikuli-script.jar\Lib\sikuli\_init_.py",line 3, in <module>
File "C:\Program Files\Sikuli X\sikuli-script.jar\Lib\sikuli\sikuli.py", line 26, in <module>
java.lang.UnsatisfiedLinkError:C:\Program Files\Sikuli X\libs\Win32Util.dll:Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at com.wapmx.nativeutils.jniloader.NativeLoader.loadLibrary(NativeLoader.java:44)
at org.sikuli.script.Win32Util.<clinit>(Win32Util.java:19)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.sikuli.script.Env.getOSUtil(Env.java:91)
at org.sikuli.script.App.<clinit>(App.java:9)
at java.lang.class.forName0(Native Method)
at java.lang.class.forName(Unknown Source)
at org.python.core.Py.loadAndInitClass(Py.java:895)
at org.python.core.Py.findClassInternal(Py.java:830)
at org.python.core.Py.findClassEx(Py.java:881)

屏幕上可见的其余部分如下:-

错误

我的代码是:-

popup("Hello")
print("Hello")

我正在使用 windows xp os 和 sikuli r930。另一件事是我.skl在另一个具有相同操作系统和 sikuli 版本的文件中运行了相同的文件。但是该代码在该系统中运行良好。谁能告诉我哪里出错了??

4

4 回答 4

1

我建议根据 Sikuli 官方手册运行 skl 脚本:http://doc.sikuli.org/faq/010-command-line.html意味着它应该使用命令行来完成。

要解决您的问题,请打开控制台窗口并键入以下内容(根据您的设置更改目录路径):

"c:\Program Files\Sikuli X\Sikuli-IDE.bat" -r "c:\sikuli\someScript.skl"

我从来没有通过双击启动 skl 脚本。我总是使用批处理文件启动它们(实际上批处理脚本是由其他非 sikuli 脚本调用的)。

于 2013-06-07T08:03:32.183 回答
0

---正如您在启动板问题中已经建议的那样:

错误图像不完整。

您说,在使用 Sikuli-IDE.bat 运行 .skl 的建议时,您会遇到同样的错误。

您在启动时会遇到一些 Java 异常。错误消息和堆栈跟踪显示在弹出窗口中,不显示所有行且不可滚动。

要获得完整的信息,您必须告诉 IDE,将所有内容打印到命令行窗口。

这就是你告诉它的方式: - 在编辑器中打开 Sikuli-IDE.bat 的副本 - 在线调用 java 并具有 -X、-D、-jar 选项添加以下选项(在 -jar 选项之前) -Dsikuli.console=false - 注意,这个修改后的 Sikuli-IDE.bat(使用不同的名称 ;-) 在 Sikuli X 程序文件夹中可用 - 使用它来运行您的 .skl,就像使用原创 SIKULI-IDE.bat

这应该在命令行窗口中打印完整的错误/堆栈跟踪信息。请。使其以某种方式在网络上可用以供检查。

于 2013-06-12T06:21:22.120 回答
0

右键单击您的可执行 SKL 文件 -> 选择属性 -> 使用 Sikuli-IDE.bat 打开(它将使用正确的 jre 配置启动 IDE)它在我的端完美运行(您可以从 Java 控制台查看日志)

于 2014-11-27T15:34:04.833 回答
0

右键单击您的 .skl 文件。转到属性。将默认路径更改为您的 Sikuli-IDE.exe 所在的位置。就我而言,它是 D:\Sikuli X\Sikuli-IDE.exe

现在双击 .skl 文件,它将运行。

或者,

转到命令行,

类型:-

C:\Windows\System32>"D:\Sikuli X\Sikuli-IDE.exe" -r D:\picapica.skl

于 2013-09-22T09:31:30.747 回答