imacros - 如果找不到标记,则忽略代码

时间:2015-04-16 21:05:27

标签: javascript if-statement imacros

URL GOTO=my site
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:login ATTR=NAME:name CONTENT=name
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:login ATTR=NAME:password CONTENT=pass
TAG POS=1 TYPE=BUTTON FORM=NAME:login ATTR=ID:s1
WAIT SECONDS=3
ONDOWNLOAD FOLDER=* FILE=image.jpg WAIT=YES
TAG POS=1 TYPE=IMG ATTR=HREF:*captcha* CONTENT=EVENT:SAVEPICTUREAS
WAIT SECONDS=3
TAB OPEN
TAB T=2
SET !EXTRACT_TEST_POPUP NO
URL GOTO=site of service
WAIT SECONDS=3
TAG POS=1 TYPE=INPUT:TEXT FORM=... ATTR=NAME:username CONTENT=...
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:... ATTR=NAME:password CONTENT=...
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:... ATTR=NAME:pict CONTENT=image.jpg
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:... ATTR=VALUE:Send
WAIT SECONDS=3
TAG POS=6 TYPE=TD ATTR=* EXTRACT=TXT
SET !CLIPBOARD {{!EXTRACT}}
tab close
TAB T=1
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:login ATTR=ID:recaptcha_response_field CONTENT={{!CLIPBOARD}}
TAG POS=1 TYPE=BUTTON FORM=NAME:login ATTR=ID:s1
WAIT SECONDS=3

我使用此代码来解决CAPTCHA ..

有时候没有CAPTCHA ..

我想让这段代码仅在有CAPTCHA时才有效。

如果没有出现CAPTCHA(或要保存的图像),则忽略以下行..

我听说这可以通过Javascript ..

但我找不到办法做到这一点......

任何帮助? ..

1 个答案:

答案 0 :(得分:0)

是的,您可以使用JavaScript。

基本上,您需要做的是检查验证码字段是否存在。也许像这样的东西。

function isCaptchaExists() {
    var macro = "TAG POS=1 TYPE=IMG ATTR=HREF:*captcha* EXTRACT=HTM";
    var retcode = iimPlayCode(macro);

    return retcode < 0;
}