Java 如何使用sikuli单击特定复选框

Java 如何使用sikuli单击特定复选框,java,sikuli,Java,Sikuli,我对Sikuli非常陌生。我曾尝试使用Sikuli和Java自动化桌面应用程序,但我遇到了一个问题。我无法选中复选框。 下面给出了我使用的代码,它不起作用 Pattern firstCheckBox = new Pattern("images/FeedsList/abc.PNG"); Pattern checkBox = new Pattern("images/FeedList/checkbox.PNG"); Region r = feedSelectionScreen.

我对Sikuli非常陌生。我曾尝试使用Sikuli和Java自动化桌面应用程序,但我遇到了一个问题。我无法选中复选框。 下面给出了我使用的代码,它不起作用

Pattern firstCheckBox = new Pattern("images/FeedsList/abc.PNG");
Pattern checkBox = new Pattern("images/FeedList/checkbox.PNG");
            Region r = feedSelectionScreen.find(firstCheckBox);
            r.hover();
            Region leftRegion = r.left();
            if(leftRegion.exists(checkBox)!=null){
                System.out.println("Hippee found check box oon left region");
                leftRegion.click(checkBox);
            }
这里firstcheckbox模式指的是复选框后面的单词图像 复选框是指复选框图像。 如果有人能在这件事上帮助我,那对我是非常有帮助的。
提前感谢。

我不擅长Java编程,因为我不经常使用Java语言。但我认为你有两个选择

第一个(也是我最喜欢的一个)是与区域合作。使用Sikuli,您可以定义要使用的区域。在一个区域内,你也可以寻找某些图像。 或者,对于复选框,您可以找到它所属的文本,并使用区域指定复选框的位置

以下是关于Sikuli地区的链接:

您还可以使用“Settings.OcrTextSearch=true”让Sikuli搜索文本。(如果你打开了它,你必须删除Sikuli安装文件夹中的“libs”目录。否则它不会更新(=bug)。如果filder“tessdate”在“libs”中,就可以了。)


你可以做的另一件事是在屏幕上找到所有的复选框。例如,从左上到右下。然后它会按照这个顺序搜索屏幕。如果复选框是您需要的第二个复选框。然后你让它在第二次发现时做点什么

好建议。此外,如果复选框始终处于相同的位置,并且您不介意您的测试过于脆弱,那么您可以通过屏幕位置、它与另一个匹配图像的偏移量或通过发送任何可聚焦/检查复选框的适用键序列来引用它。