如何正确/有效地在Sikuli中使用like()?

时间:2018-06-24 01:40:51

标签: java sikuli

我正在尝试编写一个简单的机器人,该机器人将执行在android仿真器上单击按钮的任务。我拍摄了按钮的屏幕截图,并告诉sikuli查找那些

scala> def pack2[T](xs: List[T]): List[List[T]] = xs match {
     !
     !   // If xs is empty, return Nil.
     !   case Nil => Nil
     !
     !   // Otherwise, the list is non-empty, so just process it.
     !   case _ => {
     !     val (head, tail) = xs.partition(_ == xs.head)
     !
     !     // Prefix head to packed tail.
     !     head :: pack2(tail)
     !   }
     ! }
pack2: [T](xs: List[T])List[List[T]]

scala> pack2(xs)
res3: List[List[Char]] = List(List(a, a, a), List(b))

scala> pack2(mixed)
res4: List[List[Char]] = List(List(a, a, a, a, a), List(b, b), List(c))

然后在空白处,我告诉sikuli查找并单击它

private static final Pattern continuePic = new Pattern(Main.class.getResource("continue.png"));

但是,即使仿真器上的按钮具有相同的大小和相同的颜色,它仍然看不到。当我将相似度降低到0.2时,它最终会单击按钮,但即使如此也并非总是如此。

有没有人偶然知道我可能在做错什么,以及在这种情况下是否有使用sikuli的更正确和充分的证明方法?

P.S。 sikuli是否可以适应模拟器的各种屏幕尺寸?

0 个答案:

没有答案