Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Clicking a button with WWW::Mechanize

by Gangabass (Vicar)
on Aug 12, 2014 at 01:33 UTC ( #1097056=note: print w/replies, xml ) Need Help??


in reply to Clicking a button with WWW::Mechanize

WWW::Mechanize can't execute Javascript but you can find what info is actually submitted (with Firebug) and submit same fields from your script with $mech->post(...); or $mech->submit_form(...);

Replies are listed 'Best First'.
Re^2: Clicking a button with WWW::Mechanize
by tel2 (Pilgrim) on Aug 12, 2014 at 07:43 UTC
    Thanks Gangabass.

    That approach would have been my preference, from looking at Anonymous Monk's posts, it may be too hard for me.

Re^2: Clicking a button with WWW::Mechanize
by tel2 (Pilgrim) on Aug 14, 2014 at 22:19 UTC
    Hi again Gangabass,

    Partly for those who may follow, I just thought I should report back that I did end up using your proposed method with Firebug, and didn't need PhantomJS. I clicked Firebug's "Net" option, then "Persist" and "All", then clicked the "Add to Report" (JavaScript) button on the webpage. Firebug then showed "POST addcclactivityfromsearch" in its "URL" column, so I pointed my mouse at that and it gave me a full URL (i.e. "http://olr.ccli.com/search/addcclactivityfromsearch"). I could then click that link and look under the "Post" tab to see parameters and values sent, (OR right-click the link and "Copy POST Parameters" and paste them where I like). From that, I was able to remove some redundant parameters, and write this code, which seems to be working fine.

    $rc = $m->post('http://olr.ccli.com/search/addcclactivityfromsearch', { 'ActivityIndex' => -1, 'DigitalCount' => $use, 'ReportingPeriod' => $period, 'SongUniqueId' => $songid, 'X-Requested-With' => 'XMLHttpRequest' });

    Thanks for pointing me in the right direction!

    I might still use PhantomJS someday, but have some outstanding issues, as you can see below, so I might need to raise them again, somewhere more...visible.

    tel2

      ... I did end up using your proposed method with Firebug ...

      Also mentioned in WWW::Mechanize::FAQ -- its just full of nuggets :)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1097056]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2018-10-20 18:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    When I need money for a bigger acquisition, I usually ...














    Results (119 votes). Check out past polls.

    Notices?