2012-03-26 8 views
4

Ich versuche, den Wert einer Auswahlliste mit Mechanize mit Ruby festzulegen. Ich kann zu der Seite mit der Auswahlliste navigieren, das Formular mit der Methode .form abrufen und die Auswahlliste finden.SelectList mit der Mechanisierung in Ruby

report_form =page.form('form1') 
pp report_form.field_with(:name => "report_type") 

Gibt das richtige Objekt korrekt zurück.

Ich kann den Wert dieses Felds jedoch immer noch nicht festlegen! Ich habe versucht:

report_form.field_with(:name => "report_type").options.first.select 
report_form.field_with(:name => "report_type").options[1].select 
report_form.field_with(:name => "report_type").value = "Foo" 

Aber als ich dann tun:

pp report_form.field_with(:name => "report_type") 

Der Wert Feld ist immer noch leer.

Gibt es etwas, das mir fehlt? Tipps? Tricks? Bessere Mechanize-Dokumente als bei http://mechanize.rubyforge.org?

Danke!

Edit: Die entsprechende HTML ist: Der entsprechende HTML ist:

<TD> 
<select id="report_type" name="report_type"> 
    <option value="Foo1">Opt 1</option> 
    <option value="Foo2">Opt 2</option> 
    <option value="Foo3">Opt 3</option> 
</select></TD> 
+0

Die 'report_form.field_with (: name =>" report_type "). Value =" Foo "' sollte für mich funktionieren. Das einzige, um dies zu überprüfen, ist die aktuelle Webseite zu sehen. –

+0

Ich kann auch keine

0

Foo ist nicht in der Auswahlliste, ich glaube, wenn Sie es Foo1 ändern (oder die anderen) es sollte funktionieren!?

0

Es stellte sich heraus, dass es sich um einen Fehler im Mechanize-Juwel handelte. Stellen Sie sicher, dass Sie v 0.6.0 oder neuer verwenden.

Verwandte Themen