使用Sikuli进行拖放操作

5 投票
3 回答
14255 浏览
提问于 2025-04-17 09:15

我在使用Sikuli进行拖放操作时遇到了问题。我想把某个东西拖动到其他方向(上、下、左、右),并且拖动的距离是固定的像素数。

看起来应该可以这样做:

t = find("1325249963143.png")
dragDrop(t, [t.x + 100, t.y + 100])

Sikuli的日志显示

[log] DRAG (741,525) to null

但是这个元素并没有被拖动。

这个方法就能正常工作:

dragDrop("1325249963143.png", "1325251471990.png")

日志显示

[log] DRAG (741,525) to (507,490)

我到底哪里做错了呢?

环境:Mac OS X 10.7.2,Sikuli X-1.0rc3 (r905)

3 个回答

0

我用这段代码把一张图片拖到指定的位置:

image1 = ("image1.png")
imageLoc = find(image1)
dragDrop(imageLoc, Location(imageLoc.getX() + 100, imageLoc.getY() + 100))
9

引用RaiMan(raimund-hocke)的话:

第一个参数是一个匹配对象,这个没问题。第二个参数也必须是PSMRL类型的(可以查看文档:模式/图像、字符串、匹配、区域或位置)。

dragDrop(t, Location(t.x + 100, t.y + 100))
13

这里只是打个招呼 - 另一种编码方式:

dragDrop(t, t.offset(Location(100, 100)))

撰写回答