修复 sikuli 脚本中的 find failed 问题

问题描述

我有以下代码,当它找不到 end_turn 图像时总是返回 findfailed 错误。

def clickCards():
    # region.wait(end_turn,90)
    # search for the cards and click all of them
    if exists(zero):
        z = region.findAll(zero)
        for i in z:
            click(i)
            sleep(1)
    else:
        pass
                     
    if exists(one): 
        o = region.findAll(one)
        for i in o:
            click(i)
            sleep(1)
    else:
        pass

    click(end_turn)

while exists(level):
    
    with region:
        
        if exists(end_turn):
            clickCards()
        elif exists(victory):
           click(victory)
        else:
            wait(end_turn,90)

我正在尝试自动化以下游戏视觉效果:

  • 纸牌游戏开始
  • 在结束按钮可用时点击卡片
  • 使用结束转弯按钮结束转弯
  • 继续玩直到我赢
  • 胜利出现,结束回合按钮不再可见
  • 点击胜利图片

脚本将运行,但是当我获胜时,它会出现找不到 end_turn 按钮的错误。

错误信息:

[error] script [ axieTest ] stopped with error at line --unknown--
[error] Error caused by: Traceback (most recent call last): File "C:\Users\Mortada\Desktop\axieTest.sikuli\axieTest.py",line 47,in <module> wait(end_turn,90) File "C:\Users\Mortada\AppData\Roaming\Sikulix\Lib\sikuli\Sikuli.py",line 69,in wait return SCREEN.wait(target,timeout) Line 2761,in file Region.java 
at org.sikuli.script.Region.wait(Region.java:2761)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
org.sikuli.script.FindFailed: FindFailed: end_turn.png: (129x48) seen at (1439,676) with 1.00 in R[322,156 1278x763]@S(0) E:Y,T:3.0 Line 2761,in file Region.java 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)