http://qs1969.pair.com?node_id=638995


in reply to Perl - ExecWB - SaveAs No Prompts

Hi
Did you find a solution ?
I am looking at the same problem but i only want to save as txt file
I see that you are making a sleep to wait until the website has loaded
I found some code at http://www.perl.com/pub/a/2005/04/21/win32ole.html
that uses a check on event DocumentComplete to see if the website is complete
#!/usr/bin/pe rl # find expl on http://www.perl.com/pub/a/2005/04/21/win32ole.html use Win32::OLE qw(EVENTS); my $URL = "http://samie.sf.net/simpleform.html"; my $IE = Win32::OLE->new("InternetExplorer.Application") || die "Could not start Internet Explorer.Application\n"; Win32::OLE->WithEvents($IE,\&Event,"DWebBrowserEvents2"); $IE->{visible} = 1; $IE->Navigate($URL); Win32::OLE->MessageLoop(); SetEditBox("name","samie"); sub Event { my ($Obj,$Event,@Args) = @_; print "Here is the Event: $Event\n"; if ($Event eq "DocumentComplete") { $IEObject = shift @Args; print "Here is my reference: $IEObject\n"; print "URL: " . $IEObject->Document->URL . "\n"; Win32::OLE->QuitMessageLoop(); } } sub SetEditBox { my ($name, $value) = @_; my $IEDocument = $IEObject->{Document}; my $forms = $IEDocument->forms; for (my $i = 0; $i < $forms->length; $i++) { my $form = $forms->item($i); if (defined($form->elements($name))) { $form->elements($name)->{value} = $value; } return; } }
if you find the solution pls send me msg
if i find it i will keep you up to date
rgds
Harry