Having problem using Mechanize to log into Google Account

K

Kevin Lee

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!
 
P

Peter Szinek

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
([email protected]) 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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,015
Latest member
AmbrosePal

Latest Threads

Top