【发布时间】:2012-03-24 18:02:38
【问题描述】:
我在通过 java 使用 sikuli 时遇到一个问题,如果有 2 个相同种类(或类似图像)的元素,它无法点击正确的元素。所以我想知道是否有可能让 sikuli 只在特定区域内工作,有人可以解释一下如何做到吗??
【问题讨论】:
我在通过 java 使用 sikuli 时遇到一个问题,如果有 2 个相同种类(或类似图像)的元素,它无法点击正确的元素。所以我想知道是否有可能让 sikuli 只在特定区域内工作,有人可以解释一下如何做到吗??
【问题讨论】:
是的,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
【讨论】: