Запуск SikuliX 1.1.4 скриптов Python из командной строки - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть несколько скриптов Python (jython на самом деле), которые работают с Sikulix.

Ранее я использовал версию 1.1.1 и использовал командную строку (после выполнения настройки):

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

С версией 1.1.4 больше нет настроек, и jython был удален из sikulix.jar и sikulixapi.jar . 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

Документация не полностью обновлена ​​о том, как это сделать. Они упоминают установку jython, jip и другие вещи, но ничего не получилось.

Есть идеи, как это сделать?

Спасибо

== 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)

Я установил Jython с 32-битной Java, и кажется, что требуется 64-битная Java.

Я, вероятно, попробую еще раз с 64-битным Java JDK.

1 Ответ

0 голосов
/ 03 сентября 2018

Добавьте следующую строку в начале вашего скрипта

import org.sikuli.script.SikulixForJython

Это поможет найти модуль sikuli в классах Java.

Затем вы можете запустить с командной строкой, упомянутой ранее:

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()
...