The website I am testing is full of frames, so I had to wrap the _IELoadWait function to recursively check all the way down, like this:
Func frames_IELoadWait($o_object, $i_delay = 0)
_IELoadWait($o_object, $i_delay)
; recurse into any frames
for $i = 0 to _IEFrameGetCount($o_object)-1
frames_IELoadWait(_IEFrameGetObjByIndex($o_object,$i), $i_delay)
next
endfunc
I also made frames_ versions of some other functions, like this:
func frames_IEClickLinkByText($o_object, $s_linkText, $i_index = 0, $f_wait = 0)
local $ret = _IEClickLinkByText($o_object,$s_linkText,$i_index,$f_wait)
; recurse into any frames if we didn't find it
if $ret = 0 then
for $i = 0 to _IEFrameGetCount($o_object)-1
$ret = frames_IEClickLinkByText(_IEFrameGetObjByIndex($o_object,$i),$s_linkText,$i_index,$f_wait)
if $ret <> 0 then
return $ret
endif
next
return 0
else
return $ret
endif
endfunc
which makes using those functions work in a mega-framed web page like the ones I have to use. Hope someone finds this useful.
Roger