enix12enix编写了一个独立的sikuli服务器来远程启动sikuli脚本。我有服务器正在运行,我现在正在尝试传递值和url。我想它看起来像这样:
http://server:9000/test.do?script=/yourscript&argv[1]=arg1value
&之前的一切现在正常运作。我知道答案是在这里找到的java中的某个地方:
https://github.com/enix12enix/sikuliserver/blob/master/java/src/org/sikuli/SikuliScriptParamProcessor.java
因为有一个名为extractparameters的函数。任何人都可以帮助找出网址的语法?
非常感谢,
雅各
答案 0 :(得分:1)
根据用于检查参数名称是否正确的模式,您应该使用以下格式发送参数:argv## (1-99)
。因此,您不应在网址中发送argv[1]
,而应该argv1
。
答案 1 :(得分:1)
谢谢Jair,我想出了如何在Sikuli脚本中引用它。我想那些熟悉Java / Python / Jython的人已经意识到了这一点,但我只是一个设置远程Sikuli服务器的菜鸟。
参数可以通过url传递,如下所示:
http://server:9000/test.do?script=/yourScriptName.sikuli&argv1=value1&argv2=value2
依此类推,通过argv99。
通常,在从命令行运行脚本(--args value1 value2)时,您将在Sikuli脚本中引用该参数,如下所示:
import sys
var1 = sys.argv[1]
var2 = sys.argv[2]
在使用java方面的时候,引用有点不同:
import java
var1 = java.lang.System.getProperty('argv1')
var2 = java.lang.System.getProperty('argv2')
等等。