Automation Sikuli单击不起作用

Automation Sikuli单击不起作用,automation,sikuli,Automation,Sikuli,我正在使用SikulixIDE 1.1.0编写一个脚本来玩Yugioh游戏(在Windows10x64上运行)。 请参见主屏幕: 我手动启动游戏,然后按如下方式运行脚本: switchApp("Yu-Gi-Oh! PC") click("1477213591920.png") 我的期望是,名为“决斗模式”的链接被点击进入下一个屏幕。光标始终移动到该链接,但有时有效,有时无效 我查看了日志,发现Sikuli已经发送了click命令,但由于某种原因,游戏不接受它。这是日志: [log] App.

我正在使用SikulixIDE 1.1.0编写一个脚本来玩Yugioh游戏(在Windows10x64上运行)。 请参见主屏幕:

我手动启动游戏,然后按如下方式运行脚本:

switchApp("Yu-Gi-Oh! PC")
click("1477213591920.png")
我的期望是,名为“决斗模式”的链接被点击进入下一个屏幕。光标始终移动到该链接,但有时有效,有时无效

我查看了日志,发现Sikuli已经发送了click命令,但由于某种原因,游戏不接受它。这是日志:

[log] App.focus: [8020:Yu-Gi-Oh!]
[log] CLICK on L(687,488)@S(0)[0,0 1366x768]
我已经试过了:

  • 双击
    而不是
    单击
  • 睡眠
    几秒钟
  • 悬停
    并单击

但是,所有这些都不起作用。

我希望您尝试过的一些方法会有所帮助,但如果不是这样,您需要确定按钮是否实际触发。要做到这一点,您必须捕获下一个屏幕或其中唯一标识它的任何部分。然后,您将使用它作为一个具有预定义尝试次数和它们之间的等待时间的循环,如果单击不起作用,请多次单击。通常是这样的(伪代码):


与尤金的答案相反,如果你使用的是SikuliX,你可以尝试以慢动作跑。此外,如果图像具有某些效果(如亮度),则可以尝试在exists()内部使用图案:

默认情况下,similor()值为0.8,因此,如果图像具有某种效果,例如,颜色每秒都会更改,则可以在0和1之间设置一个较低的值


PS:如果存在,请不要忘记将该模式放入其中并单击,因为如果不将其放入click()中,可能会抛出一条Image not found错误消息。

我知道已经有一段时间了,但最近我遇到了类似的问题。 找到图像,但单击无效

我也在Windows 10 x86_64上工作。 解决方案就是以管理员的身份执行程序。 不知道为什么,但现在它起作用了


对于某些图案,我还必须使用双击而不是简单的单击。

谢谢您提供的信息。但在我的例子中,图像被找到了,只需单击()命令就无效了。您找到原因了吗happing@bipin:还没有,但是我使用了一个变通方法,正如尤金在下面回答的那样。你的回答引导我找到正确的道路。我使用powershell运行Sikuli脚本。我必须以管理员身份运行它们,Sikuli开始单击。
attempts = 3
for attempt in attempts:
    click(button)

    if (nextScreen is available):
        break

    sleep(time)
if exists(Pattern("DualMode.png").similar(0.6), time_in_seconds):
    click(Pattern("DualMode.png").similar(0.6))