Autohotkey if 语句不起作用,没有错误消息

Autohotkey if statement not working, no error msg

我正在尝试使用 autohotkey 从网站收集大量数据,然后根据文本内容单击网站上的特定位置。我能够让它实际获取值,但是当涉及到 if 语句时,它似乎不会处理并且不会产生任何错误消息。这是我的代码的一个快速示例,大约有 20 个 if 语句值,因此为了简洁起见,我只包含了其中的几个值。

GuessesLeft = 20
Errorcount = 0
;triple click and copy text making a variable out of the clipboard
;while (GuessesLeft!=0) part of future while loop
;{ part of future while loop
click 927,349
click 927,349
click 927,349

Send ^c

GetValue = %Clipboard%

if ( GetValue = "Frontal boss")
{
    click 955,485
    Guessesleft -= 1 
}

else if ( GetValue = "Supraorbital Ridge")
{
    click 955,571
    Guessesleft -= 1 
}
;....ETC
else
{
    Errorcount += 1
}
;} part of future while loop

关于我可能做错了什么的任何提示。理想情况下,我会使用案例陈述,但 AHK 似乎没有。

等一下 -- 您正在三次单击以突出显示整个段落并将其复制到剪贴板并检查是否整个复制部分都是 if 语句中的单词,对吗?你在复制部分的文字周围有引号?可能你将不得不 trim 关闭任何尾随空格 and/or returns:

GetValue = % Trim(Clipboard)

如果这不起作用,您甚至可能不得不将复制文本的长度缩短一两个任意字符:

GetValue = % SubStr(Clipboard, 1, (StrLen(Clipboard)-2))

现在,如果我错了,而您真正要查找的是 if 语句中的单词,无论它们位于较长的段落中,而且它们没有被引号包围,那么您将需要类似:

IfInString, Clipboard, Frontal boss

或者,如果有引号,

IfInString, Clipboard, "Frontal boss"

Hth,