使用Sikuli和Env.isLockOn(Key.NUM_LOCK)单击图像不起作用

时间:2018-12-06 08:07:12

标签: java selenium groovy sikuli-script workfusion

我正在尝试单击图像,并且我还需要检查NUM_LOCK是打开还是关闭,如果需要打开,则需要关闭,为此我正在使用以下sikuli脚本并使用seleniumDriver代码的executescript命令运行它如下所示,但它给我错误

"Exception Occured ::org.openqa.selenium.WebDriverException: No signature of 
method: static org.sikuli.script.Env.isLockOn() is applicable for argument 
types: (java.lang.String) values: [?]
Possible solutions: isLockOn(char)"

以下代码

String typeFromDate = "import org.sikuli.script.Screen;\n"+
                "import org.sikuli.script.Key;\n"+
                "import org.sikuli.script.KeyModifier;\n"+
                "import org.sikuli.script.Env;\n"+
                "Screen screen = new Screen();\n"+
                "screen.doubleClick(\""+fromDateImgPath.trim()+"\");\n"+
                "Thread.sleep(2000);\n"+
                "if(Env.isLockOn(Key.NUM_LOCK))screen.type(Key.NUM_LOCK);"+
                "screen.type(Key.HOME); \n"+
                "Thread.sleep(5000);\n"+
                "screen.keyDown(Key.SHIFT) \n"+
                "screen.type(Key.END) \n"+
                "screen.keyUp(Key.SHIFT) \n"+
                "Thread.sleep(5000);\n"+
                "screen.type(\""+fromDate+"\"); \n"+
                "Thread.sleep(2000);\n"+
                "return null;\n"; 

 returnfrDt = (String) aDriver.executeScript(typeFromDate, new String[] 
{"GROOVY"});

1 个答案:

答案 0 :(得分:0)

使用Jython,这非常简单:

if Env.isLockOn(Key.NUM_LOCK):
    print('NUM_LOCK is ON')