Sikuli点击没有效果

Sikuli click is not effect

我正在使用 SikulixIDE 1.1.0 编写玩 Yugioh 游戏的脚本(运行 on Windows 10 x64)。 查看主屏幕:

我手动启动游戏然后运行脚本如下:

switchApp("Yu-Gi-Oh! PC")
click("1477213591920.png")

我的期望是点击名为 "DUEL MODE" 的 link 进入下一个屏幕。光标总是移动到 link,但有时有效,有时无效。

查看日志,Sikuli发送了点击命令,但不知为何,游戏不接受。这是日志:

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

我已经试过了:

但都不行,也不行。

我希望您尝试过的某些操作会有所帮助,但如果情况并非如此,您将需要确定按钮是否实际被触发。为此,您必须捕获下一个屏幕或唯一标识它的任何部分。然后,您将使用它进行循环,尝试次数为预定义,尝试之间有一些等待时间,如果点击无效,则点击多次。所以通常是这样的(伪代码):

attempts = 3
for attempt in attempts:
    click(button)

    if (nextScreen is available):
        break

    sleep(time)

除了Eugene S Answers,如果您使用的是SikuliX,您可以尝试运行慢动作。此外,如果图像有一些效果(如亮度),您可以尝试在 exists():

中使用 Pattern
if exists(Pattern("DualMode.png").similar(0.6), time_in_seconds):
    click(Pattern("DualMode.png").similar(0.6))

默认情况下,similar()的值为0.8,所以如果图片有一些效果,比如颜色每秒都在变化,你可以在0到1之间设置一个较低的值。

PS:如果存在并单击,请不要忘记将图案放入其中,因为如果不放入 click() 中,可能会抛出找不到图像的错误消息。

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

我也在研究 Windows 10 x86_64。 解决方案只是以管理员身份执行程序。 不知道为什么,但现在它正在工作..

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