Mechanize form.fields.name


#1

Hi,

I’m using mechanize version 0.9.2, and am having an issue with
form.fields.name(“foo”)

the code looks something like:

agent = WWW::Mechanize.new
page = agent.get(“mypage.html”)
form = page.form(‘myform’)

Now I need to set the value of a select box in the form. The select
box name is report_type. The options in the select box are “Reports”
and “Advanced Reports”.

using form.report_type gives me “1”
(rdb:1) form.report_type
“1”

Reading the documentation wasn’t helpful, but I saw another post that
says you can do:

form.fields.name(“report_type”), but that gives me:
(rdb:1) form.fields.name(‘report_type’)
NoMethodError Exception: undefined method `name’ for #<Array:
0x2fdc33c>

because form.fields IS an array :slight_smile:

Any pointers on how to set the select box’s value back and forth
between Reports and Advanced Reports?

Thanks


#2

On Fri, Mar 13, 2009 at 02:23:08AM +0900, Daly wrote:

form.fields.name(“report_type”), but that gives me:
(rdb:1) form.fields.name(‘report_type’)
NoMethodError Exception: undefined method `name’ for #<Array:
0x2fdc33c>

because form.fields IS an array :slight_smile:

Yes, this functionality was deprecated a while back.

Any pointers on how to set the select box’s value back and forth
between Reports and Advanced Reports?

Try this:

p form.report_type

Hopefully that will get you the select list for the report_type.

If that doesn’t work, I’ll need an example I can execute.