I am struggling with Mechanize to login to my Google account. Here is
my code:
agent = WWW::Mechanize.new
page = agent.get('https://www.google.com/accounts/ServiceLogin?....')
# or http://www.google.com/calendar
google_form = page.forms[0]
google_form.fields.name("Email").first.value = 'myaddress'
google_form.fields.find {|f| f.name == 'Passwd'}.value = 'mypasswd'
pp page
results = agent.submit(google_form, google_form.buttons.first)
pp page
puts results.body
The values of the Email and Passwd fields remain empty. So it appears
to me that the code fails to login. What more should I do? Please
help!
Thanks in advance!
···
--
Posted via http://www.ruby-forum.com/.
Kevin,
The values of the Email and Passwd fields remain empty. So it appears
to me that the code fails to login. What more should I do? Please
help!
Mechanize can not handle Javascript, so it won't work this way. You have two options here:
1) Scrape the non-JS page - check this article:
http://schf.uc.org/articles/2007/02/14/scraping-gmail-with-mechanize-and-hpricot
2) Use Watir (FireWatir if you are not on win32) which can handle JavaScript.
btw, posting mechanize related questions to the mechanize list (mechanize-users@rubyforge.org) can yield better response time/quality.
HTH,
Peter
···
_
http://www.rubyrailways.com :: Ruby and Web2.0 blog
http://scrubyt.org :: Ruby web scraping framework
http://rubykitchensink.ca/ :: The indexed archive of all things Ruby.