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

时间:2016-02-22 01:48:28

标签: 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!=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似乎没有。

1 个答案:

答案 0 :(得分:0)

等一下 - 你三次点击突出显示一个完整的段落并将其复制到剪贴板并检查复制部分的全部是否是if语句中的单词,对吗?你复制的部分中的单词是否有引号?可能你必须修剪任何尾随空格和/或返回:

GetValue = % Trim(Clipboard)

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

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

现在,如果我错了,你真正想要的是if语句中的单词,无论它们在一个更长的段落中 - 并且它们没有被引号括起来,那么你会想要类似的东西: / p>

IfInString, Clipboard, Frontal boss

或者,如果报价在那里,

IfInString, Clipboard, "Frontal boss"

H个,