K
Kevin Tran
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.
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.
Code:
require 'rubygems'
require 'mechanize'
Hpricot.buffer_size = 262144
auth = {
:username => "[email protected]",
: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