If statement 如果语句不工作,则自动热键,无错误消息

If statement 如果语句不工作,则自动热键,无错误消息,if-statement,autohotkey,If Statement,Autohotkey,我正在尝试使用autohotkey从网站收集大量数据,然后根据文本内容单击网站上的某个位置。我能够让它实际获取值,但是当涉及到if语句时,它似乎不会处理,并且不会产生错误消息。这是我的代码的一个快速示例,大约有20个if语句值,所以为了简洁起见,我只包含了一些值 GuessesLeft = 20 Errorcount = 0 ;triple click and copy text making a variable out of the clipboard ;while (GuessesLeft

我正在尝试使用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
关于我可能做错什么的任何提示。理想情况下,我会使用一个case语句,但AHK似乎没有。请稍等,您需要三次单击以突出显示完整的段落,并将其复制到剪贴板,然后检查复制的部分是否全部是if语句中的单词,对吗?你在复制部分的单词周围有引号吗?您可能需要删除任何尾随空格和/或返回:

GetValue=%Trim(剪贴板)

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

GetValue=%SubStr(剪贴板,1,(StrLen(剪贴板)-2))

现在,如果我错了,你真正想要的是if语句中的单词,不管它们在哪一个较长的段落中——它们没有被引号包围,那么你会想要这样的东西:

i安装、剪贴板、前凸台

或者,如果有引号

i安装,剪贴板,“正面凸台”


嗯,

您的代码可以正常工作。如果字符串
在剪贴板中,则执行第一条If语句。问题一定出在别的地方了。有什么好主意吗?我已经测试了这个变量,它似乎确实准确地拉动了它。2501:我认为字符串
front Boss
周围也必须有引号,
“front Boss”
,并且是剪贴板中复制的文本的全部,而不是该文本的某一部分。而且,三次点击网页上的一个段落可能会在结尾处包含一些需要删除的非打印字符。我在回答中提到了这些可能性,但最终OP应该更清楚他或她想要什么@PGilm它在没有引号的情况下工作。OP的字符串周围可能有一些空格,因此比较结果不正确。