This is what I am doing:
my_form = doc.forms.with.name(formname).first
This is what I want:
my_form = doc.forms.with.id(id_string).first
but somehow Mechanize does not like it.
Maybe because id collides with Object.id?
My problem is that the from does not have a ‘name’ attribute in the
html - so apparently I can not use that to locate it - therefore I would
like to use ‘id’ - or what else should I do?
Thanks,
Peter
__
http://www.rubyrailways.com
On Jan 31, 2007, at 5:18 AM, Peter S. wrote:
My problem is that the from does not have a ‘name’ attribute in
the html - so apparently I can not use that to locate it -
therefore I would like to use ‘id’ - or what else should I do?
I haven’t dug into the Ruby Mech yet, but the Perl version lets you
pick the Nth form on the page.
On Jan 31, 2007, at 8:44 AM, Andy L. wrote:
On Jan 31, 2007, at 5:18 AM, Peter S. wrote:
My problem is that the from does not have a ‘name’ attribute in
the html - so apparently I can not use that to locate it -
therefore I would like to use ‘id’ - or what else should I do?
I haven’t dug into the Ruby Mech yet, but the Perl version lets you
pick the Nth form on the page.
Ruby’s should have a Page#forms that works like an array.
On Wed, Jan 31, 2007 at 08:18:37PM +0900, Peter S. wrote:
Maybe because id collides with Object.id?
My problem is that the from does not have a ‘name’ attribute in the
html - so apparently I can not use that to locate it - therefore I would
like to use ‘id’ - or what else should I do?
Here’s at least one way:
if doc is your instance of WWW::Mechanize:
my_form = (doc.page/:form).find { |elem| elem[‘id’] == id_string }
(Of course if you did doc = mech_instance.page, then it’s
(doc/:form).find …)
Mat S. wrote:
On Jan 31, 2007, at 8:44 AM, Andy L. wrote:
On Jan 31, 2007, at 5:18 AM, Peter S. wrote:
My problem is that the from does not have a ‘name’ attribute in the
html - so apparently I can not use that to locate it - therefore I
would like to use ‘id’ - or what else should I do?
I haven’t dug into the Ruby Mech yet, but the Perl version lets you
pick the Nth form on the page.
Ruby’s should have a Page#forms that works like an array.
Yeah, you can do
my_form = doc.forms[0]
but all I have is the id attribute of the form I am looking for. (i.e.
not the index of the form I am looking for).
So currently I am looping through all the forms and comparing the
current form’s id (through form_node.attributes[‘id’]) with the id I am
looking for.
Is there a better way to do this? Or is this OK?
Peter
__
http://www.rubyrailways.com