in reply to Re: WWW::Mechanize problem
in thread WWW::Mechanize problem

How are they failing for you? No error warnings, result from print is blank. What is (the relevant part of) your input HTML? <INPUT type='text' values="over 100 random character string here"> Have you looked at HTML::Form? yep and the input box has no id or name anyway.

Replies are listed 'Best First'.
Re^3: WWW::Mechanize problem
by Corion (Patriarch) on May 06, 2012 at 15:45 UTC

    So, does WWW::Mechanize->find_all_inputs find that link? Have you inspected your list of inputs? Does it find any other input fields? Is the HTML that WWW::Mechanize sees the HTML you expect?

    What is the exact code you are using to find that "none of these are working"? I am asking that question because it helps me to replicate your situation. Please post a short, self-contained example of no more than 20 lines that reproduces the problem.

      after this im not sure how else i can ask this question :/
      use WWW::Mechanize; use Storable; use LWP; use warnings; my $loginpage = "http://www.homepage.org"; my $challenge = "http://www.homepage.org/test.htm"; my $username = 'username'; my $password = 'password'; my $mech = WWW::Mechanize->new(); $mech -> cookie_jar(HTTP::Cookies->new()); $mech -> get($loginpage); $mech -> form_name('loginform'); $mech -> field ('username' => $username); $mech -> field ('password' => $password); $mech -> click ('btn_submit'); #navigate to challenge page $mech->get( $challenge ); my @find_text = $mech->find_all_inputs( type => 'text' ); for $boxes (@find_text) { #if (length($boxes->value) > 100) { print $boxes->value(); # } }
      yes, it is the correct page i check with print $mech->content();
        Here's a script that I did before you made your last post.
        #!/usr/bin/perl use strict; use warnings; use Encode; use URI::file; use WWW::Mechanize; use Data::Dumper::Concise; my $page = 'http://www.perlmonks.org'; my $tmpfile = '/tmp/mech.log'; my $mech = WWW::Mechanize->new( cookie_jar => undef ); $mech->get( $page, ':content_file' => $tmpfile ); my $uri = URI::file->new_abs( $tmpfile )->as_string; my($field) = $mech->get( $uri ); open IN, '<', $tmpfile or die $!; open OUT, '>', \*OUT or die $!; binmode OUT, ":encoding(UTF-8)"; FIRST_FORM: { my $length = length(Encode::encode_utf8($field)); my @find_text = $mech->find_all_inputs( type => 'text' ); foreach my $find_text( @find_text ) { unless ($length > 100) { print Dumper( $find_text ); } } } close IN; close OUT;