in reply to Re^7: Need help with WWW::Mechanize and Chrome cookies
in thread Need help with WWW::Mechanize and Chrome cookies

By "does not work", what do you mean exactly?

If by that, you mean, "it's not documented, and not implemented", maybe you want to help implement it?

Alternatively, you can maybe use

... my $filename = '/path/'.$foo; $mech->get($foo); my $img = $mech->content(); # save the image to disk

Replies are listed 'Best First'.
Re^9: Need help with WWW::Mechanize and Chrome cookies
by bakiperl (Beadle) on Jul 11, 2021 at 12:20 UTC
    Corion,
    Here is the issue:
    First, let's start with the html file that I have used to test the script (WMC.html)
    <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>Testing hyperlink file Downloads</title> </head> <body> <h2>Testing Download of hyperlinked files using WWW::Mechanize::Chrome +</h2> <p></p> Let's try downloading this <a href="/my_Files/csv_File.csv">CSV File</ +a> <br/><br/> </body> </html>
    Now here is the Perl script.
    #!/usr/bin/perl -w use Log::Log4perl qw(:easy); use WWW::Mechanize; use WWW::Mechanize::Chrome; use strict; my $cookie_dir = 'C:/Users/some_user/AppData/Local/Google/Chrome/User +Data/Default/'; #chrome cookies path #my $mech = WWW::Mechanize::Chrome->new( data_directory => $cookie_dir +); my $mech = WWW::Mechanize->new(); my $uri = URI->new( "https://www.your_site.com/WMC.html" ); $mech->get( $uri ); unless ($mech->success) { my $mesg = $mech->response->status_line; print $mesg; goto FINISH; } my $path = "/path"; my @links = $mech->find_all_links( url_regex => qr/\.csv/i ); my @urls = map { $_->[0] } @links; for my $foo (@urls) { my $filename = $path.$foo; $mech->get($foo, ':content_file'=>$filename); my $file_content = $mech->get($foo); print $file_content->content(); } print "Success\n"; FINISH :
    When I use the WWW::Mechanize instance, the script runs fine. It prints and saves the file content to disk.
    However, when the WWW::Mechanize::Chrome instance is used I get the following error message:
    Cannot navigate to invalid URL -32000 at C:/Perl/perl/site/lib/Chrome/DevToolsProtocol/Target.pm line + 490

      This is really weird - what is the value of the URL you're trying to navigate to when that error occurs? Where does that error occur?

        I sent you the url.

        The error occurs on both of these calls:
        $mech->get($foo, ':content_file'=>$filename); my $file_content = $mech->get($foo);
Re^9: Need help with WWW::Mechanize and Chrome cookies
by bakiperl (Beadle) on Jul 09, 2021 at 22:24 UTC
    The hyperlinked files don't download to disk unless they are going somewhere else other than the declared directory. The code that you have suggested returns the the html document.