Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
WWW::Mechanize issue when submitting multiple forms
prasannakate
4/5/2007 4:06:00 PM
Hi All,
I am using eruby and Mechanize to submit forms on a website. The first
form
has a "Accept Agreement" checkbox, when user checks this checkbox and
submits this form, another form shows up which is the actual input
form.
When using eruby and Mechanize, I get the first form, check the accept
checkbox and then get the second form and then populate the fields in
the
second form. But when I submit the second form, it shows a page
saying "You
did not accept the agreement on first form". So basically the Accept
on
first form is not getting passed while submitting the second form.
here is what I am doing:
agent = WWW::Mechanize.new
page = agent.get("
http://www.abc...
)
form = page.forms[1] // get first form
form.checkboxes.name('accept').check // accept agreement
page = agent.submit(form) // submit first form
nextform = page.forms[1] //get next form
nextform.first_name = "myname" // populate second form
nextform.last_name = "mylastname"
page = agent.submit(nextform) // submit second form
puts page.body
Does anyone know how can I get this to work ?
--
Thanks,
Prasanna
3 Answers
Aaron Patterson
4/5/2007 6:53:00 PM
0
On Fri, Apr 06, 2007 at 01:10:04AM +0900, prasannakate@gmail.com wrote:
> Hi All,
>
> I am using eruby and Mechanize to submit forms on a website. The first
> form
> has a "Accept Agreement" checkbox, when user checks this checkbox and
> submits this form, another form shows up which is the actual input
> form.
>
> When using eruby and Mechanize, I get the first form, check the accept
> checkbox and then get the second form and then populate the fields in
> the
> second form. But when I submit the second form, it shows a page
> saying "You
> did not accept the agreement on first form". So basically the Accept
> on
> first form is not getting passed while submitting the second form.
>
> here is what I am doing:
>
> agent = WWW::Mechanize.new
> page = agent.get("
http://www.abc...
)
Is this actually the url you are hitting? I tried it and there is only
one form on that page.
> form = page.forms[1] // get first form
page.forms[1] is nil for me.....
> form.checkboxes.name('accept').check // accept agreement
> page = agent.submit(form) // submit first form
> nextform = page.forms[1] //get next form
> nextform.first_name = "myname" // populate second form
> nextform.last_name = "mylastname"
> page = agent.submit(nextform) // submit second form
> puts page.body
>
> Does anyone know how can I get this to work ?
Can you send an example script with the correct urls in it? If not, try
installing LiveHTTPHeaders for Firefox, and making sure that firefox
submits the same thing that mechanize does.
Also, don't forget to join the mechanize mailing list!
http://rubyforge.org/mailman/listinfo/mecha...
--
Aaron Patterson
http://tenderlovem...
prasannakate
4/6/2007 9:30:00 AM
0
Hi Aaron,
Thanks for the information. I installed LiveHTTPHeaders and I think
Mechanize is sending the same data as Firefox.
I am actually trying to access this URL through Mechanize:
http://postmaster.info.aol.com/tools/whitelist_g...
this has the Accept checbox and the next form is the actual input
form.
Thanks a lot for your help,
Prasanna
prasannakate
4/7/2007 8:30:00 AM
0
Hi Aaron,
Thanks a lot for your help !!!
LiveHTTPHeaders was a great help and Mechanize is great library !!!
My issue is resolved.
Thanks,
Prasanna
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
WWW::Mechanize issue when submitting multiple forms
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password