我对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模式是指复选框后面的单词image 和复选框指的是复选框图像。 如果有人能帮助我,这对我有很大的帮助。 提前谢谢。
答案 0 :(得分:1)
我不是Java编程的明星,因为我不经常使用那种语言。但我认为你有两个选择。
第一个(也是我最喜欢的一个)是与地区合作。使用Sikuli,您可以定义要使用的区域。在一个区域内,您还可以查找某些图像。 或者,如果选中复选框,您可以找到属于它的文本,并使用区域指定复选框的位置。
以下是关于Sikuli地区的链接:Link
你也可以使用" Settings.OcrTextSearch = true"让Sikuli搜索文本。 (如果你把它放在你必须删除你的Sikuli安装文件夹中的" libs"目录。否则它不会更新(= bug)。如果填写" tessdate&#34 ;在" libs"没关系。)
您可以做的另一件事是Sikuli找到屏幕上的所有复选框。例如,从左上角到右下角。然后它将按顺序搜索屏幕。如果复选框是您需要的第二个复选框。然后你让它在第二次发现时做点什么。