Hi I am new to Ruby from Python and am still learning some stuff. I
have a Ruby program that uses the mechanize library to connect to a Web
site and authenticate with a username and password. The issue I have is
that I need to get this code translated into Python. The Python
mechanize library is not very well documented and I was wondering if
anyone here had any experience using this library in Ruby or Python.
Basically the only tricky part of this program is that it needs to add a
field to the form on the page. This extra field, "__EVENTTARGET", needs
to be added explicitly. I cannot find the Python equivalent to the
WWW::Mechanize::Form::Field.new(nil,nil) method. Thank you in advance.
I hope I explained myself well.
-
require 'rubygems'
-
require 'mechanize'
-
-
Hpricot.buffer_size = 262144
-
-
auth = {
-
:username => "bugmenot2008@yahoo.com",
-
:password => "letmeinalready"
-
}
-
-
login_url = "http://www.princetonreview.com/Login3.aspx?uidbadge=" # !>
-
`&' interpreted as argument prefix
-
agent = WWW::Mechanize.new
-
page = agent.get( login_url )
-
my_form = page.forms.first
-
-
my_form['ctl00$MasterMainBodyContent$txtUsername']= auth[:username]
-
my_form['ctl00$MasterMainBodyContent$txtPassword']= auth[:password]
-
-
-
target_field = WWW::Mechanize::Form::Field.new(nil,nil)
-
target_field.name = "__EVENTTARGET"
-
target_field.value = "ctl00$MasterMainBodyContent$btnLogin"
-
my_form.fields << target_field
-
-
new_page = my_form.submit
-
-
# examine output to make sure it worked
-
new_page = agent.get("http://www.princetonreview.com/YourStuff.aspx")
-
-
pp new_page
-