in reply to Re^6: WWW::Mechanize::Chrome Instagram
in thread WWW::Mechanize::Chrome Instagram

To enter input into any input field, focus the input field by ->click()ing it, and then send keys.

Also, I assume that you can switch input fields by using the \t tab key.

Replies are listed 'Best First'.
Re^8: WWW::Mechanize::Chrome Instagram
by damian1 (Novice) on Sep 08, 2019 at 13:30 UTC

    I try but not work, it still doesn't detect and the button is blocked, in addition as I display the content after filling it is empty

    $mech->click({xpath => '//input[@name="username"]', single => +1 }); $mech->sendkeys( string => $user ); $mech->click({xpath => '//input[@name="password"]', single => +1 }); $mech->sendkeys( string => $pass ); $mech->sleep(1); $mech->click({intrapage => 1, text => 'Log In', single => 1 }) +; $mech->sleep(2); print $mech->content;

      Without seeing the HTML and Javascript, it's hard to know what the page does wrong so that clicking in the form fields get filled but the button does not get unblocked.

      If by "the content is empty" you mean that the input you type is not visible in the form fields, then either that does not work or you are not clicking on the correct fields.

      You can indirectly watch your browser as it progresses by using the screencast feature. See Mojolicious::Plugin::PNGCast for something that will display a window of your headless browser page.

        okay i have screenshot, this is crazy result

        For code :

        if ($mech->success()) { $mech->sleep(1); + # waiting for load site $mech->form_number(1); $mech->value( username => $user ); $mech->value( password => $pass ); $mech->sleep(1); show_screen($mech); }

        Result image:

        https://imgur.com/a/hacCoB0

        For code :

        if ($mech->success()) { $mech->sleep(1); + # waiting for load site $mech->click({xpath => '//input[@name="username"]', single => +1 }); $mech->sleep(1); $mech->sendkeys( string => "test\r" ); $mech->sleep(1); $mech->click({xpath => '//input[@name="password"]', single => +1 }); $mech->sleep(1); $mech->sendkeys( string => "test\r" ); $mech->sleep(1); show_screen($mech); }

        Result image:

        https://imgur.com/a/uUcsPi2

        The first example shows that the button has not been activated and value are on the label, the label should disappear

        Second example shows click not work, input is empty although the rules are correct, the module finds these fields (username and password) Maybe not work sendkeys? Did I write it correctly sendkey function?

        HTML code on instagram, input

        <input class="_2hvTZ pexuQ zyHYP" aria-label="Phone number, username, +or email" aria-required="true" autocapitalize="off" autocorrect="off" + maxlength="75" name="username" type="text" value=""> <input class="_2hvTZ pexuQ zyHYP" aria-label="Password" aria-required= +"true" autocapitalize="off" autocorrect="off" name="password" type="p +assword" value=""

        Why sendkeys not work on this input?