... my $IE; my $IETimeout = 60; my $timeAtStart; #new global var ... sub IENavigate( $ ) { my $url = shift; my $seconds = 0; $timeAtStart = time unless ($timeAtStart); print "IENavigate $url\n"; alarm $IETimeout; $IE->navigate($url); Win32::OLE->MessageLoop(); print "Finished Blocking\n"; return; } sub IEEvent(){ my ($Obj,$Event,@Args) = @_; if (($IETimeout) && ($timeAtStart) && (time > ($timeAtStart + $IET +imeout) )) {&IEAlarm(17)}; print "IEEvent '$Event' @ " . time . qq|\n|; }
Which produces, not surprisingly...
There are some strange things in this code like:IEEvent 'StatusTextChange' @ 1131174480 IEEvent 'CommandStateChange' @ 1131174480 IEEvent 'StatusTextChange' @ 1131174480 IEEvent 'StatusTextChange' @ 1131174480 IEEvent 'CommandStateChange' @ 1131174480 IEEvent 'StatusTextChange' @ 1131174480 ... IEEvent 'CommandStateChange' @ 1131174520 IEEvent 'CommandStateChange' @ 1131174520 IEAlarm 17 IEEvent 'CommandStateChange' @ 1131174521 Finished Blocking
when IENavigate doesn't return anything...? At any rate, if you are looking to see how long it takes to load pages, etc. wouldn't you be better served with LWP::Simple and Benchmark or something?Use of uninitialized value in concatenation (.) or string at foo.pl li +ne 37. ... #which is ==36== my $seconds = IENavigate( $_ ); ==37== print "took $seconds\n";
Celebrate Intellectual Diversity
In reply to Re^2: Win32::OLE and timeout
by InfiniteSilence
in thread Win32::OLE and timeout
by puff
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |