我想在iMacros中使用if / else语句进行验证码控制。我以前尝过很多次了。我制作了宏1和宏2并添加了if / else语句,但它没有用。这是代码;
VERSION BUILD=8970419 RECORDER=FX
TAB CLOSEALLOTHERS
SET !EXTRACT_TEST_POPUP NO
SET !ERRORIGNORE YES
SET !TIMEOUT_PAGE 25
TAB T=1
URL GOTO= [ MY URL ]
TAG POS=1 TYPE=A ATTR=TXT:Skip<SP>Ad
SET !TIMEOUT_PAGE 120
WAIT SECONDS=7
FILEDELETE NAME=C:\Users\Dtractus\Desktop\deneme\captcha.png
ONDOWNLOAD FOLDER=C:\Users\Dtractus\Desktop\deneme\ FILE=captcha.png
TAG POS=1 TYPE=DIV ATTR=ID:adcopy-puzzle-image-captchaShortlink CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT
TAB OPEN
TAB T=2
URL GOTO=http://api.captchasolutions.com/x.php
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://api.captchasolutions.com/solve ATTR=NAME:captcha CONTENT=C:\Users\Dtractus\Desktop\deneme\captcha.png
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.captchasolutions.com/solve ATTR=NAME:key CONTENT=[ MY KEY]
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.captchasolutions.com/solve ATTR=NAME:secret CONTENT=[ MY SECRET ]
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://api.captchasolutions.com/solve ATTR=*
SET !TIMEOUT_STEP 25
SET !EXTRACT NULL
TAG POS=1 TYPE=DECAPTCHA ATTR=* EXTRACT=TXT
TAB CLOSE
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:link-view ATTR=ID:adcopy_response-captchaShortlink CONTENT={{!EXTRACT}}
WAIT SECONDS=3
TAG POS=1 TYPE=BUTTON FORM=ID:link-view ATTR=ID:invisibleCaptchaShortlink
在此代码之后,如果验证码错误,则会发出类似的警告;
“CAPTCHA不正确。再试一次”
我想在此代码后检查此警告。如果验证码是正确的,我想继续下面的代码。如果验证码再次出错,我希望你再次重复验证验证码。
SET !TIMEOUT_STEP 25
TAG POS=1 TYPE=A ATTR=TXT:Get<SP>Link
SET !TIMEOUT_PAGE 120
FILEDELETE NAME=C:\Users\Dtractus\Desktop\deneme\captcha.png
ONDOWNLOAD FOLDER=C:\Users\Dtractus\Desktop\deneme\ FILE=captcha.png
TAG POS=1 TYPE=DIV ATTR=ID:adcopy-puzzle-image CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT
TAB OPEN
TAB T=2
URL GOTO=http://api.captchasolutions.com/x.php
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://api.captchasolutions.com/solve ATTR=NAME:captcha CONTENT=C:\Users\Dtractus\Desktop\deneme\captcha.png
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.captchasolutions.com/solve ATTR=NAME:key CONTENT=[ MY KEY ]
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.captchasolutions.com/solve ATTR=NAME:secret CONTENT=[ MY SECRET]
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://api.captchasolutions.com/solve ATTR=*
SET !TIMEOUT_STEP 25
SET !EXTRACT NULL
TAG POS=1 TYPE=DECAPTCHA ATTR=* EXTRACT=TXT
TAB CLOSE
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:adcopy_response CONTENT={{!EXTRACT}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=*
iMacros for Chrome不支持if / then语句,请参阅他们的FAQ:
iMacros语言本身被设计为描述性语言(类似于HTML),不包含条件语句。我们没有添加这样的陈述,因为我们认为我们的客户不应该参加为期一周的研讨会,只是为了学习另一种专有的脚本或编程语言。换句话说,iMacros命令引用网页元素,因此必须将任何编程逻辑放入脚本中,然后使用iMacros自动化网站。
但作为iMacros alternative你可以使用Kantu for Chrome。这个开源Chrome扩展包括flow control命令,如GotoIF和While / endWhile。