5

我在通过 java 使用 sikuli 时遇到一个问题,如果有 2 个相同种类(或类似图像)的元素,它无法点击正确的元素。所以我想知道是否有可能让 sikuli 只在特定区域内工作,有人可以解释一下如何做到吗?

4

1 回答 1

4

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

while exists("foo.png"):
    hover("bar.png")
    ClickMeRegion = find("bar.png").nearby(5).right()
    ClickMeRegion.click("baz.png")

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

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

于 2012-03-07T23:22:48.457 回答