in reply to WWW::Mechanize::Firefox could not click submit button

Sorry for format. On IBM site I am trying to automate login and then do some patch download.

#!/usr/bin/perl -w use strict; use WWW::Mechanize::Firefox; my $mech = WWW::Mechanize::Firefox->new( autoclose => 0, autodie => 1, ); $mech->get('https://www-304.ibm.com/pkmslogin.form'); sleep 7; my $dumy; #found that with only username and password parameters in #set_visible + function it entered only password in username #field so added this d +ummy variable. my $username = 'user'; my $password = 'password'; $mech->set_visible( $dumy, $username, $password ); my $retries = 10; while ($retries-- and ! $mech->is_visible( xpath => '//*[@id="submit"] +' )) { sleep 1; }; die "Timeout" unless $retries;

Output: MozRepl::RemoteObject: NS_ERROR_DOM_INVALID_EXPRESSION_ERR: The expression is not a legal expression. at ./test-firefox.pl line 25. on web page username password are entered correctly but could not click submit button. Please help I am new to Perl.

Replies are listed 'Best First'.
Re^2: WWW::Mechanize::Firefox could not find submit button
by Corion (Patriarch) on Jul 11, 2012 at 07:12 UTC

    I can't replicate the problem with WWW::Mechanize::Firefox 0.66. Maybe you are on an older version?

    To see what XPath expression is generated and passed on to Firefox, you can turn up the log level:

    my $mech = WWW::Mechanize::Firefox->new( autoclose => 0, autodie => 1, log => ['debug'], );

    That will produce lots and lots of output, and somewhere in there you might find the error message, and somewhere before that the invalid XPath expression that causes it. But before doing so, consider upgrading to the latest versions.

Re^2: WWW::Mechanize::Firefox could not find submit button
by Anonymous Monk on Jul 11, 2012 at 07:19 UTC

    Please help I am new to Perl.

    Well, this really has nothing with perl :)

    How did you come up with that xpath expression?

      Thanks for reply. Above mentioned problem is solved. I used below statement for click.

      $mech->click({ xpath => '//*[@value="Submit"]' });

        After login I open another URL on which it get redirected few times and then final page is displayed in browser and then I want to extract some text from it. Here I dont know how to get the complete content of final page opened. Can anyone help me.