Watir::IE#wait checks that @ie.readyState == READYSTATE_COMPLETE, where
READYSTATE_COMPLETE is 4.

I'm running into issues where, after completing a file download,
@ie.readyState is 3.

The relevant documentation for this property seems to be at
http://msdn.microsoft.com/en-us/library/ms534361%28VS.85%29.aspx (although I
do not known precisely whan an "OBJECT" is in this context, it seems to
apply to the @ie object).

aside: that is not to be confused with the readyState property of a
document, which is slightly different and is documented here:
http://msdn.microsoft.com/en-us/library/ms534359%28VS.85%29.aspx
the readyState of the document is "complete" in this case, despite the
readyState of the browser being 3 which corresponds to "interactive".

Since a readyState of 3 means "User can interact with the object even though
it is not fully loaded.", should that not be a valid state for Watir to
consider the browser to be ready?

I'm not sure why that description applies to the browser after a file
download completes - maybe it shouldn't? maybe it's an IE bug?
But, it does seem to me that that description describes a state where it
should be ready for Watir to interact with it, so perhaps that check should
be changed to @ie.readyState >= 3.
Likewise, maybe the checks for the document's readyState (and that of all
its frames) should be changed to check if it is either "complete" or
"interactive"? Although I have not seen the 'interactive' state come up in
my own experience.

-Ethan
_______________________________________________
Wtr-development mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-development

Reply via email to