Bug in v.9.0.3; #EAF# is no longer returned!

Discussions and Tech Support specific to the iMacros Firefox add-on.
Forum rules
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
Post Reply
viking
Posts: 243
Joined: Sun Mar 16, 2008 7:22 am

Bug in v.9.0.3; #EAF# is no longer returned!

Post by viking » Wed Jan 18, 2017 2:13 am

Some of my crucial scripts stopped working after I upgraded Firefox to V50.1
I later noticed that iMacros had also been upgraded from v8.9.7 to v9.0.3.

My script(s) extracts text from rows on a page; something like this:

Code: Select all

TAG POS={{rownumber}} TYPE=SPAN ATTR=CLASS:someclass EXTRACT=TXT
It extracts the text until there are no more rows and an #EAF# is returned. This portion of the script then stops.

However, with version v9.0.3, the #EAF# is not returned when there are no more rows and the script times out instead!!

I reverted back to v8.9.7, and everything worked fine again. I assume this is a bug? I need that #EAF# when reaching the end so that I know when to stop the extraction.

FF v50.1
iMacros v.9.03 => back to v8.9.7
Windows 7, 64-bit
chivracq
Posts: 9374
Joined: Sat Apr 13, 2013 1:07 pm
Location: Amsterdam (NL)

Re: Bug in v.9.0.3; #EAF# is no longer returned!

Post by chivracq » Wed Jan 18, 2017 3:17 am

viking wrote:Some of my crucial scripts stopped working after I upgraded Firefox to V50.1
I later noticed that iMacros had also been upgraded from v8.9.7 to v9.0.3.

My script(s) extracts text from rows on a page; something like this:

Code: Select all

TAG POS={{rownumber}} TYPE=SPAN ATTR=CLASS:someclass EXTRACT=TXT
It extracts the text until there are no more rows and an #EAF# is returned. This portion of the script then stops.

However, with version v9.0.3, the #EAF# is not returned when there are no more rows and the script times out instead!!

I reverted back to v8.9.7, and everything worked fine again. I assume this is a bug? I need that #EAF# when reaching the end so that I know when to stop the extraction.

Code: Select all

FF v50.1
iMacros v.9.03 => back to v8.9.7
Windows 7, 64-bit
Yep, it's been reported already, I suspect it's "like that" by Design in v9.0.3, but we didn't get any Feedback/Confirmation from TechSup yet... (and afaik, the Change if it's a Change and not a Bug, is not documented in the Wiki nor in the Release Notes).

Empiric Explanation is that with "!ERRORIGNORE=NO", you still get "#EANF#" when 'EXTRACT=[ATTR]' is not found (still like v8.9.7[-], and (NEW in v9.0.3...!) with "!ERRORIGNORE=YES", you get a NULL or Empty Extract that is not added to '!EXTRACT' (when using 'SAVEAS' for example)...

To be honest, I like it actually, that gives you an extra mini-Control on the Extract Mechanism, if you don't want to fill your 'SAVEAS' '.CSV' with lots of "#EANF#' Strings..., even if, hum..., it could have been better "designed", as it currently screws the Cell/Column Structure of the '.CSV' if you have more than one Column...
=> Some '!EXTRACT_NOT_FOUND' Built-in Var would have been handy, set by Default to 'NULL' for example with "!ERRORIGNORE=YES" like currently apparently, but that you could set to "" (= Empty String) to keep the Column Structure of your '.CSV', dunno, just an Idea...!

And pfff, for Backward Compatibility, the Default Value should be "#EANF#" anyway, or all "older" Scripts need to be modified to still run correctly in v9.0.3 or v9.x, and if you make your Script v9.x-Proof with '!EXTRACT_NOT_FOUND', you will probably get some RuntimeError if you try to run it in some Config running some older iMacros Version that will "complain" about this Unknown Built-in Var, ah-ah...!
- (F)CI(M) = (Full) Config Info (Missing): iMacros + Browser + OS (+ all 3 Versions + 'Free'/'PE').
- I don't even read the Qt if that (required) Info is not mentioned...!
- Script & URL help a lot for more "educated" Help...
viking
Posts: 243
Joined: Sun Mar 16, 2008 7:22 am

Re: Bug in v.9.0.3; #EAF# is no longer returned!

Post by viking » Wed Jan 18, 2017 5:31 am

Thanks for you answer. However, I am not sure that I understood you.

I upgraded to v9.0.3 again and added "SET !ERRORIGNORE NO" to my test script:

Code: Select all

SET !ERRORIGNORE NO
SET !TIMEOUT 1
TAG POS={{!LOOP}} TYPE=SPAN ATTR=CLASS:someClass EXTRACT=TXT
PROMPT {{!EXTRACT}}
However, I still get a timeout (no #EAF# at the end):

Code: Select all

Retry timeout, line: 6 (Error code: -1001)
chivracq
Posts: 9374
Joined: Sat Apr 13, 2013 1:07 pm
Location: Amsterdam (NL)

Re: Bug in v.9.0.3; #EAF# is no longer returned!

Post by chivracq » Wed Jan 18, 2017 6:10 am

viking wrote:Thanks for you answer. However, I am not sure that I understood you.

I upgraded to v9.0.3 again and added "SET !ERRORIGNORE NO" to my test script:

Code: Select all

SET !ERRORIGNORE NO
SET !TIMEOUT 1
TAG POS={{!LOOP}} TYPE=SPAN ATTR=CLASS:someClass EXTRACT=TXT
PROMPT {{!EXTRACT}}
However, I still get a timeout (no #EAF# at the end):

Code: Select all

Retry timeout, line: 6 (Error code: -1001)
Hum, the Behaviour I described is what I understood myself from other Users reporting it, I didn't even bother to download v9.0.3 which was obviously too buggy from the first day, you might "force me" to download it and to test by myself, ah-ah...!

But, hum, you are using a "Trick" with "!TIMEOUT=1" (fooi-fooi btw, you should be using '!TIMEOUT_PAGE' now, ah-ah, still funny to see it, I still use it myself in some older Scripts of mine, hum, just checked some old Scripts of mine: "VERSION BUILD=6000521 RECORDER=FX", oops...!), could you test again with a "decent" '!TIMEOUT_PAGE' Value, >6, or add a "!TIMEOUT_STEP=1" Statement for example after your '!TIMEOUT' Statement because currently with "!ERRORIGNORE=NO" and with "!TIMEOUT=1', it's possible that v9.0.3 has some problem with the "0.16666" Value for '!TIMEOUT_STEP' which is not an Integer and is <1...?
I tested your Test Script on v8.9.7 (+ FF47) and it works indeed, I get the "#EANF#" for each Loop...

But, pfff, don't spend too much time on that one, going back to v8.9.7 is anyway the only logical Step, v9.0.3 is too buggy anyway and breaks too many Commands that were working in previous Versions to be a stable Version... :shock:
- (F)CI(M) = (Full) Config Info (Missing): iMacros + Browser + OS (+ all 3 Versions + 'Free'/'PE').
- I don't even read the Qt if that (required) Info is not mentioned...!
- Script & URL help a lot for more "educated" Help...
viking
Posts: 243
Joined: Sun Mar 16, 2008 7:22 am

Re: Bug in v.9.0.3; #EAF# is no longer returned!

Post by viking » Wed Jan 18, 2017 8:28 am

So I tried to remove all Timeout, but still same results (no #EAF# and got the timeout error).

I guess back to 8.9.7 and turn off Autoupdate.
chivracq
Posts: 9374
Joined: Sat Apr 13, 2013 1:07 pm
Location: Amsterdam (NL)

Re: Bug in v.9.0.3; #EAF# is no longer returned!

Post by chivracq » Wed Jan 18, 2017 4:52 pm

viking wrote:So I tried to remove all Timeout, but still same results (no #EAF# and got the timeout error).

I guess back to 8.9.7 and turn off Autoupdate.
Well, OK, I guess I trust your Testing, you are an "older Fox" with iMacros, ah-ah...! But there seems definitely to be a big Pb with 'EXTRACT', TechSup/Dev to investigate that and hopefully get it fixed in some next v9.x / v10 Release but it makes me wonder how such an important Core Feature of iMacros (for Data-Extraction) could not be noticed in the Testing Phase before v9.0.3 got released...!? :shock:

For the records, here are 2 similar and related Threads about the same Pb that I managed to locate:
- Extraction not possible since 9.0.3
- CSV result have UNSTRUCTURED column

And it was from that 2nd Thread that I mentioned the '!ERRORIGNORE' Switch:
CSV result have UNSTRUCTURED column
by student on 08 Dec 2016, 22:01

lot of problem found on 9.0.3 version,
such as:
- "EVENTS TYPE=MOUSEMOVE" (can't perform this command)
- "EXTRACT=TXT" (will got duplicate values for parents)
- when you add "SET !ERRORIGNORE YES" you'll never got "#EANF#" if Extraction Anchor Not Found. but you will got "" (blank) only. and it will skip when perform "SAVEAS TYPE=EXTRACT" command. so CSV result will have UNSTRUCTURED column. REALY BIG PROBLEM.
- "iimPlayCode" can't run on 9.0.3.
- "iimGetExtract" is not new command for "iimGetLastExtract" because it will showing different result.

i go back from 9.0.3 to 8.9.7
- (F)CI(M) = (Full) Config Info (Missing): iMacros + Browser + OS (+ all 3 Versions + 'Free'/'PE').
- I don't even read the Qt if that (required) Info is not mentioned...!
- Script & URL help a lot for more "educated" Help...
Post Reply