in reply to Re: Win32::OLE and timeout
in thread Win32::OLE and timeout
... 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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Win32::OLE and timeout
by puff (Beadle) on Nov 12, 2005 at 21:47 UTC | |
|
Re^3: Win32::OLE and timeout
by puff (Beadle) on Nov 12, 2005 at 23:37 UTC |