从命令行运行SikuliX 1.1.4 Python脚本

时间:2018-09-03 10:39:15

标签: python jython sikuli sikuli-script sikuli-x

我有一些与Sikulix一起运行的Python(实际上是jython)脚本。

我以前使用的版本是 1.1.1 ,并且正在使用命令行(在完成设置之后):

java -Dsikuli.Debug=-2 -cp sikulix.jar org.python.util.jython main.py

在版本 1.1.4 中,没有更多设置,并且jython已从 sikulix.jar sikulixapi.jar < / em>。 Jython在另一个jar文件中( jython-standalone-2.7.1.jar )。

我尝试使用以下命令行运行

java -Dsikuli.Debug=-2 -cp "sikulix.jar;jython-standalone-2.7.1.jar" org.python.util.jython main.py

但是我收到以下错误

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    from sikuli.Sikuli import *
ImportError: No module named sikuli

该文档尚未完全更新。他们提到安装jythonjip和其他东西,但没有任何工作。

有什么想法吗?

谢谢

== PS ==

执行以下操作后几乎可以正常工作:

  • 安装jython
  • CLASSPATH设置为 sikulixapi.jar
  • 的绝对路径
  • 运行jython main.py

我遇到以下错误:

[error] RunTimeINIT:  *** terminating: Java arch not 64 Bit or not detected (java 8-32 version 1.8 vm 25.121-b13 class 52.0 arch null)

我已经用32位Java安装了Jython,看来需要64位Java。

我可能会尝试使用64位Java JDK。

1 个答案:

答案 0 :(得分:1)

在脚本的开头添加以下行

import org.sikuli.script.SikulixForJython

这将有助于在Java类中寻找sikuli模块。

然后可以使用前面提到的命令行运行:

java -cp "sikulixapi.jar;jython-standalone-2.7.1.jar" org.python.util.jython main.py

Python脚本示例(main.py)

import org.sikuli.script.SikulixForJython
from sikuli.Sikuli import *

notepad = App('notepad.exe')
notepad.open()
sleep(1)
type("It is working!")
notepad.close()