Support for iMacros. The iMacros software is the unique solution for automating every activity inside a web browser, for data extraction and web testing.
Forum rules
iMacros EOL - Attention!
The renewal maintenance has officially ended for Progress iMacros effective
November 20, 2023 and all versions of iMacros are now considered EOL (End-of-Life). The iMacros products will no longer be supported by Progress (aside from customer license issues), and these forums will also no longer be moderated from the Progress side.
Thank you again for your business and support.
Sincerely,
The Progress Team
Before asking a question or reporting an issue:
1. Please review the list of
FAQ's.
2. Use the search box (at the top of each forum page) to see if a similar problem or question has already been addressed.
3. Try searching the
iMacros Wiki - it contains the complete iMacros reference as well as plenty of samples and tutorials.
4. We can respond much faster to your posts if you include the following information:
CLICK HERE FOR IMPORTANT INFORMATION TO INCLUDE IN YOUR POST
-
bestisme
- Posts: 47
- Joined: Sun Mar 23, 2014 7:37 am
Post
by bestisme » Fri Sep 12, 2014 6:32 am
Sorry for the title unable for being enough informative, but I couldn't think any better
Config Info:
Windows XP Sp 2
Firefox 32.0
The code :
Code: Select all
for (i = 0; i < 50000; i++) {
var macro;
macro = "CODE:";
macro += "VERSION BUILD=8810214 RECORDER=FX" + "\n";
macro += "TAB T=1" + "\n";
macro += "SET !EXTRACT_TEST_POPUP NO" + "\n";
macro += "SET !TIMEOUT_STEP 0" + "\n";
iimPlay(macro)
var verify;
verify = "CODE:";
verify += "SET !EXTRACT_TEST_POPUP NO" + "\n";
verify += "SET !TIMEOUT_STEP 0" + "\n";
verify += "TAG POS=1 TYPE=DIV ATTR=TXT:Verification<SP>Code EXTRACT=TXT" + "\n";
iimPlay(verify)
var G_Extract= iimGetLastExtract(1);
var captchasolver;
captchasolver = "CODE:";
captchasolver += "VERSION BUILD=8820413 RECORDER=FX" + "\n";
captchasolver += "SET !TIMEOUT_PAGE 1000"
captchasolver += "TAB T=1" + "\n";
captchasolver += "SET !EXTRACT_TEST_POPUP NO" + "\n";
captchasolver += "ONDOWNLOAD FOLDER=d:\ FILE=captcha.jpg" + "\n";
captchasolver += "TAG POS=1 TYPE=IMG ATTR=HREF:*captcha* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT" + "\n";
captchasolver += "TAB OPEN" + "\n";
captchasolver += "TAB T=2" + "\n";
captchasolver += "URL GOTO=http://www.9kw.eu/grafik/form.html" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT ATTR=NAME:apikey CONTENT=8FV9JFGBJ60WMTY9208Y60" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT ATTR=NAME:prio CONTENT=0" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:selfsolve CONTENT=NO" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:confirm CONTENT=NO" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:case-sensitive CONTENT=NO" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:selfsolve CONTENT=NO" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT ATTR=NAME:source CONTENT=imacros" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT ATTR=NAME:file-upload-01 CONTENT=D:\captcha.jpg" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT ATTR=TYPE:submit" + "\n";
captchasolver += "TAG POS=1 TYPE=* ATTR=* EXTRACT=TXT" + "\n";
captchasolver += "TAB CLOSE" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:captcha CONTENT={{!EXTRACT}}" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=NAME:button" + "\n";
captchasolver += "TAG POS=1 TYPE=A ATTR=TXT:Continue<SP>Battle" + "\n";
captchasolver += "URL GOTO=http://pokemoncreed.net/battle.php?opp=Mysterious_Trainer" + "\n";
//Finished introducing stupid variables
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
//First Verify
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Toxic Opponent
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
//Copy this,it is standard set of code of verification, next to it will come else statements
else
{
iimPlay("CODE:TAG POS=1 TYPE=A ATTR=TXT:Golurk")
}
// We switched to 2nd Pokemon
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
//Now you need to switch to 3rd Pokemon
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=A ATTR=TXT:Golurk")
}
// So now we are on third pokemon.
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
// Now we go to fourth pokemon
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=A ATTR=TXT:Golurk")
}
//Now we are on fourth Pokemon, and need to fly twice
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
//Now we go to fifth pokemon
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=3 TYPE=SPAN ATTR=TXT:d")
}
//Now, we fly twice
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Now we need to go to Rotom
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=A ATTR=TXT:Rotom")
}
//Now we are on Rotom
//Now we need to MegaHorn
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=2 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:URL GOTO=http://pokemoncreed.net/battle.php?opp=Mysterious_Trainer")
}
}
The problem :
When the script runs with the text on the screen i.e. G_Extract unequals to #EANF#, it does not run the captchasolver script. What am I doing wrong?
-
chivracq
- Posts: 10301
- Joined: Sat Apr 13, 2013 1:07 pm
- Location: Amsterdam (NL)
Post
by chivracq » Fri Sep 12, 2014 3:17 pm
bestisme wrote:Sorry for the title unable for being enough informative, but I couldn't think any better
Config Info:
Windows XP Sp 2
Firefox 32.0
The code :
Code: Select all
for (i = 0; i < 50000; i++) {
var macro;
macro = "CODE:";
macro += "VERSION BUILD=8810214 RECORDER=FX" + "\n";
macro += "TAB T=1" + "\n";
macro += "SET !EXTRACT_TEST_POPUP NO" + "\n";
macro += "SET !TIMEOUT_STEP 0" + "\n";
iimPlay(macro)
var verify;
verify = "CODE:";
verify += "SET !EXTRACT_TEST_POPUP NO" + "\n";
verify += "SET !TIMEOUT_STEP 0" + "\n";
verify += "TAG POS=1 TYPE=DIV ATTR=TXT:Verification<SP>Code EXTRACT=TXT" + "\n";
iimPlay(verify)
var G_Extract= iimGetLastExtract(1);
var captchasolver;
captchasolver = "CODE:";
captchasolver += "VERSION BUILD=8820413 RECORDER=FX" + "\n";
captchasolver += "SET !TIMEOUT_PAGE 1000"
captchasolver += "TAB T=1" + "\n";
captchasolver += "SET !EXTRACT_TEST_POPUP NO" + "\n";
captchasolver += "ONDOWNLOAD FOLDER=d:\ FILE=captcha.jpg" + "\n";
captchasolver += "TAG POS=1 TYPE=IMG ATTR=HREF:*captcha* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT" + "\n";
captchasolver += "TAB OPEN" + "\n";
captchasolver += "TAB T=2" + "\n";
captchasolver += "URL GOTO=http://www.9kw.eu/grafik/form.html" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT ATTR=NAME:apikey CONTENT=8FV9JFGBJ60WMTY9208Y60" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT ATTR=NAME:prio CONTENT=0" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:selfsolve CONTENT=NO" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:confirm CONTENT=NO" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:case-sensitive CONTENT=NO" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:selfsolve CONTENT=NO" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT ATTR=NAME:source CONTENT=imacros" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT ATTR=NAME:file-upload-01 CONTENT=D:\captcha.jpg" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT ATTR=TYPE:submit" + "\n";
captchasolver += "TAG POS=1 TYPE=* ATTR=* EXTRACT=TXT" + "\n";
captchasolver += "TAB CLOSE" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:captcha CONTENT={{!EXTRACT}}" + "\n";
captchasolver += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=NAME:button" + "\n";
captchasolver += "TAG POS=1 TYPE=A ATTR=TXT:Continue<SP>Battle" + "\n";
captchasolver += "URL GOTO=http://pokemoncreed.net/battle.php?opp=Mysterious_Trainer" + "\n";
//Finished introducing stupid variables
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
//First Verify
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Toxic Opponent
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
//Copy this,it is standard set of code of verification, next to it will come else statements
else
{
iimPlay("CODE:TAG POS=1 TYPE=A ATTR=TXT:Golurk")
}
// We switched to 2nd Pokemon
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
//Now you need to switch to 3rd Pokemon
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=A ATTR=TXT:Golurk")
}
// So now we are on third pokemon.
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
// Now we go to fourth pokemon
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=A ATTR=TXT:Golurk")
}
//Now we are on fourth Pokemon, and need to fly twice
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
//Now we go to fifth pokemon
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=3 TYPE=SPAN ATTR=TXT:d")
}
//Now, we fly twice
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Fly
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
//Now we need to go to Rotom
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=1 TYPE=A ATTR=TXT:Rotom")
}
//Now we are on Rotom
//Now we need to MegaHorn
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:TAG POS=2 TYPE=INPUT:SUBMIT FORM=ACTION:battle.php?c=* ATTR=NAME:move")
}
iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="#EANF#")
{
iimPlay(captchasolver)
}
else
{
iimPlay("CODE:URL GOTO=http://pokemoncreed.net/battle.php?opp=Mysterious_Trainer")
}
}
The problem :
When the script runs with the text on the screen i.e. G_Extract unequals to #EANF#, it does not run the captchasolver script. What am I doing wrong?
iMacros Version is missing, your Script shows a mix of v8.8.1 and v8.8.2...
OK, I had a look at your Script and everything looks normal to me, except that your first 'macro' Macro doesn't do anything...
Things you can try:
- Increase '!TIMEOUT_STEP' to 1 to give more time to the Captcha to appear...
- Idem with a mini 'WAIT' Statement...
- Add a "SET !EXTRACT NULL" just to be sure, though I would think that '!EXTRACT' is automatically reset to Null when running Macros created on the fly like you do, but I've never used it, so I don't know for sure...
- Debug your Script by reactivating '!EXTRACT_TEST_POPUP' + a 'PROMPT' on '!EXTRACT' and an 'alert()' on 'G_Extract'.
- (F)CI(M) = (Full) Config Info (Missing): iMacros + Browser + OS (+ all 3 Versions + 'Free'/'PE'/'Trial').
- FCI not mentioned: I don't even read the Qt...! (or only to catch Spam!)
- Script & URL help a lot for more "educated" Help...
-
bestisme
- Posts: 47
- Joined: Sun Mar 23, 2014 7:37 am
Post
by bestisme » Sun Sep 14, 2014 6:39 am
I don't know myself what The problem was, I just removed !Set_TImeout line and everything worked fine...
Btw, sorry for not replying
-
chivracq
- Posts: 10301
- Joined: Sat Apr 13, 2013 1:07 pm
- Location: Amsterdam (NL)
Post
by chivracq » Sun Sep 14, 2014 12:17 pm
bestisme wrote:I don't know myself what The problem was, I just removed !Set_TImeout line and everything worked fine...
Btw, sorry for not replying
OK, so I was right, that was the first Suggestion I made ("Things you can try: - Increase '!TIMEOUT_STEP' to 1 to give more time to the Captcha to appear...". But removing that Line is one Step too far, I would think, because now you've gone back to the Default Setting which is 6 sec (unless you reduced the overall Default !TIMEOUT Setting in the Options from 60 sec to...stg less...?), which means that between each Move in your Game, iMacros is always waiting for 6 sec, which makes your complete Script very slow, I would think...
You'd better do like I said, increase !TIMEOUT_STEP to 1 or 2, check what best Value is for you to tune it...
- (F)CI(M) = (Full) Config Info (Missing): iMacros + Browser + OS (+ all 3 Versions + 'Free'/'PE'/'Trial').
- FCI not mentioned: I don't even read the Qt...! (or only to catch Spam!)
- Script & URL help a lot for more "educated" Help...