如何在sikuli的区域内获取图像的坐标?

How to get the coordinates of an image within a region in sikuli?

我只是在为我们的自动化测试之一评估Sikuli。我正在尝试执行一个脚本,该脚本可以在一个区域中找到图像的位置。

这是我写的.sikuli脚本。

1
2
3
4
5
6
7
8
9
10
match = find("regionImage.png")  # The actual image here.
z = match.findAll("requiredImage.png")
for icon in z:
    print icon.getTarget()
    click(icon)
    time.sleep(3)

 #Output
 L(693,464)@S(0)[0,0 1920x1080]
 L(693,519)@S(0)[0,0 1920x1080]

我遇到的问题是getTarget给出了与整个屏幕对应的坐标。最完美的是获得一个设定区域的位置。有可能吗?(当然,你总是可以减去,但只是想知道还有没有更好的方法)


您使用的getTarget()方法返回一个类Location的对象,在本例中,该对象指向当前Match对象的中心。此匹配不知道它所在的Region

实现目标的唯一方法是手动计算。这不应该是一个复杂的任务,因为Sikuli在模式位置方面公开了一个不错的API。请看一下这里的文档,了解一些情况。


也许你在找.getX().getY()