in reply to Re^3: use WWW::Mechanize or LWP to interface with WEB
in thread use WWW::Mechanize or LWP to interface with WEB

Thanks David,
Good news and not so good news, I don't get the error anymore but I nothing happens either, I had the feeling that WWW::Mechanize should fire up the web browser... Have I misunderstood...?
One other thing, If you take look at source of $url the website has a "form tag" before the form that I want to use... in that case should be using (2)..?
my $url = 'http://www.ancestry.com/'; my $mechObject = WWW::Mechanize->new(); $mechObject->get($url); die "can't get page!" unless $mechObject->success; die "can't find form!" unless $mechObject->form_number(0); my @values = ('learn', 'perl', [option => 'M']); die "couldn't fill out form!" unless $mechObject->set_visible(@values) == 3; $mechObject->submit; die "can't submit form!" unless $mechObject->success;
learnperl

Replies are listed 'Best First'.
Re^5: use WWW::Mechanize or LWP to interface with WEB
by erroneousBollock (Curate) on Nov 16, 2007 at 07:47 UTC
    $mech->form_number(0) is the first form,
    $mech->form_number(1) is the second form,
    and so on...

    Good news ... I don't get the error anymore
    Excellent.

    but I nothing happens
    Perfect!

    I had the feeling that WWW::Mechanize should fire up the web browser
    No, WWW::Mechanize acts like a web-browser, it doesn't run one.

    If you got no errors along the way (and you actually had put something useful in those two regular expressions) you can be pretty sure it worked fine.

    Update: Ah, I see you removed the regexp tests.
    Those are there to see that the resulting page "looks like" the page you expect to see. Removing those tests stops you from knowing if your truly succeeded.

    To be sure, consult the site you posted it to.

    -David.

      $mech->form_number(0) is the first form,
      $mech->form_number(1) is the second form,
      and so on...
      No, the doc says: Forms are indexed from 1, so the first form is number 1, not zero.

      Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!

        Thanks, I used
        form_number(2)
        I didn't get an error but as I mentioned before it doesn't do anything... as David mentioned I included the regex and I did
        print $mechObject->content;
        but it only gives me the html of the first page where I would like to see results based open the fields that I just filled..
        How can I accomplish this..
        my $url = 'http://www.ancestry.com/'; my $mechObject = WWW::Mechanize->new(); $mechObject->get($url); die "can't get page!" unless $mechObject->success && $mechObject->content =~ /Your First Name/i; die "can't find form!" unless $mechObject->form_number(2); my @values = ('first', 'last', [option => 'M']); die "couldn't fill out form!" unless $mechObject->set_visible(@values) == 3; $mechObject->submit; die "can't submit form!" unless $mechObject->success && $mechObject->content =~ /Your Last Name/i; print $mechObject->content;
        Thanks in advance..
        LearnPerl
      yeah..haha I removed regex...
      The webpage has a login form at the top of the page... would that be form_number(0)...? I put form_number(1) and game me the previous error but when if i put the value (2) no errors similar to (0).

      After the submit I should be expecting some search results...What kind of procedure I should fallow the search results to spit out...?
      Thanks
      learnperl