Sikuli在一个地区内行动

Dan*_*har 5 java sikuli

我在通过java使用sikuli时遇到问题,如果有2个相同类型的元素(或类似图像),则无法单击正确的元素.所以我想知道是否有可能让sikuli在特定区域内工作,并且可以解释一下如何才能完成?

小智 4

是的,sikuli 可以在特定区域内工作。挑战在于定义一个仅包含两个元素之一的区域。您可以通过 x,y 坐标定义区域。您还可以根据显示屏上独特图案(图像)的位置来增加区域的大小。

while exists("foo.png"):
    hover("bar.png")
    ClickMeRegion = find("bar.png").nearby(5).right()
    ClickMeRegion.click("baz.png")
Run Code Online (Sandbox Code Playgroud)

因此,在上面我查找正在显示的图像 foo.png/bar.png/baz.png 图像对。首先,我将鼠标悬停在 bar.png 上,以便在视觉上我可以看到脚本正在查看哪对。然后,我创建一个围绕 bar.png 中心延伸 5 个像素的区域,并将其延伸到显示屏的右侧。这会突出显示单个 baz.png 图像。然后我可以单击我感兴趣的一个 baz.png。

有关区域的更多信息,请参阅: http: //doc.sikuli.org/region.html